LINUX.ORG.RU

Сообщение для пользователя без шелла


0

1

Нужно, чтобы когда пользователь интерактивно логинится по ssh, прямо в терминале ему выдавалось бы сообщение:

«Привет! Ты успешно соединился по ssh с нашим сервером, но работать по читстому ssh здесь нельзя. Вначале нужно сделать шаги описанные вот на этой веб-страничке: хттп://балалайка.водка.медведь.ком»

(Особенно важное ключевое слово - интерактивно. Т.е. если чувак решит законнектиться по какому-нибудь гиту или sshfs, чтобы он смог нормально это сделать. Не уверен, что это возможно, но было бы круто.)

Есть идеи, какой шелл может делать так?

(С институтских времен осталось какое-то смутное воспоминание, что написать свой шелл не так уж сложно, но если уже есть готовое...)

Спасибо)

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 2)

>Есть идеи, какой шелл может делать так?

/bin/echo, чо там.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

при /bin/false не-интерактивные сервисы продолжают работать?

Мне особенно важен гит.

(Не на чем сейчас попробовать Шиндошс максимальная семь.)

stevejobs ★★★★☆
() автор топика

попробовать motd+false смогу только вечером, заочно закрываю как решенную )

спасибо)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

>не-интерактивные сервисы продолжают работать?

Демоны, которые запустились при загрузке, что ли? Конечно, будут, они вообще не зависят от логина каких-то пользователей.

А вообще, если пользователей несколько, им всем при логине будет показываться один и тот же /etc/motd, даже если им разрешено логиниться. Так что лучше всё же /bin/echo попробовать, или /bin/cat (с параметрами, конечно), чтобы сообщение видел только нужный юзер. Ещё можно залепить костыль в ~/.bashrc типа ‘exec /bin/cat ~/.dontlogin.txt’.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> Демоны, которые запустились при загрузке, что ли?

программы, которым ты подсовываешь адрес типа ssh://username@host, и они начинают по ssh гонять данные.

На гитхабе, например, у пользователя тоже нет интерактивного логина, а git как-то работает. А scp не работает (ну или я не знаю, как заставить его работать). Как они этого добились?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Ну вообще они есть. Правда есть ещё вот такая штука:

/usr/bin/git-shell

Можно создать юзера 'git' вот с этим шеллом и стучаться к нему по ssh.
Погугли на эту тему.

arknir
()
Ответ на: комментарий от stevejobs

gitolite/gitosis? Там gitosis логинится по ssh как юзер git c /bin/fasle в качестве шелла, принимает от того, кто запросил соединение публичный ключ, смотрит в свой /var/spool/gitosis/.ssh/authorized_hosts и если ключ соответствует, позволяет работу с файлами через себя. Никаких логинов на сервер для одной работы с гитом по идее не нужно. А для того, что ты просил в ОП-посте есть опция Banner в конфиге у sshd.

Deleted
()
Ответ на: комментарий от Deleted

В общем да, нужно написать что-то типа gitolite/gitosis, только с другим юзабилити)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от arknir

Зачем вообще пользователям шелл и учётные записи в системе, если им нужен один только Git?

Deleted
()
Ответ на: комментарий от Deleted

Поэтому что это пользователь git с шеллом git-shell и его единственное предназначение - давать пользователям доступ к репозиторию.

arknir
()
Ответ на: комментарий от arknir

> Ну вообще они есть.

значит, будет еще один)

кстати, если есть идеи, как это лучше организовывать, делись - внимательно слушаю, о великий учитель)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Я бы разделил службы. Например, для git'а выделил бы пользователя, и авторизацию по паролям/ключам/ключам+паролям etc. Как настраивать очевидно же, нет? Создаем пользователя git, ставим ему git-shell, а дальше точь-в-точь как с обычным ssh. И когда нам будет нужен доступ к репу: git clone ssh://git@host/~/repo.git

arknir
()
Ответ на: комментарий от arknir

а как разделять права на чтение-запись для отдельных пользователей, если пользователь git только один?

stevejobs ★★★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.