URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97552
[ Назад ]

Исходное сообщение
"Как отключить пользователю шелл, оставив логин по SSH "

Отправлено sergetv , 19-Мрт-20 16:14 
Здравствуйте.
FreeBSD 12.1
Создал пользователя со входом по SSH с авторизацией по ключам для поднятия SSH туннеля для проброса портов к машинам в сети.
Теперь хочу отключить ему шелл, чтоб меньше было возможностей  лазить по системе.

В /etc/passwd прописал ему /usr/sbin/nologin

А никакого результата - все равно заходит с /sh

Куда копать?


Содержание

Сообщения в этом обсуждении
"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Аноним , 19-Мрт-20 16:28 
vipw
или
pw mod user ЮЗЕР -s /usr/sbin/nologin

"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено sergetv , 19-Мрт-20 16:57 
> vipw
> или
> pw mod user ЮЗЕР -s /usr/sbin/nologin

Спасибо! Получилось


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено BABUT , 19-Мрт-20 17:45 
> Куда копать?

наверное копать в сторону pwd_mkdb, но это неточно(я на опёнке)



"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Licha Morada , 19-Мрт-20 18:21 
> Создал пользователя со входом по SSH с авторизацией по ключам для поднятия
> SSH туннеля для проброса портов к машинам в сети.
> Теперь хочу отключить ему шелл, чтоб меньше было возможностей  лазить по
> системе.

Мы на Линуксе, но делаем так:

cat > /home/${NEWUSER}/nologin.sh << EOF
#!/bin/sh

echo "Port forwarding only account. ^C to exit."
cat > /dev/null
exit 0
EOF
chmod +x /home/${NEWUSER}/nologin.sh

cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443" ssh-rsa AAAAB3...
EOF


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено BABUT , 19-Мрт-20 18:35 
>[оверквотинг удален]
> #!/bin/sh
> echo "Port forwarding only account. ^C to exit."
> cat > /dev/null
> exit 0
> EOF
> chmod +x /home/${NEWUSER}/nologin.sh
> cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
> command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443"
> ssh-rsa AAAAB3...
> EOF

it's_a_magic.gif


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Licha Morada , 19-Мрт-20 21:26 

> it's_a_magic.gif

Отнють, весьма прозрачно и конкретно. А это если не так, то пусть топикстартер задаёт вопросы. Ну, или вы задавайте вопросы.
Лично мне интересно, насколько это решение крос-сплатформенно.


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено BABUT , 19-Мрт-20 22:49 
> Отнють, весьма прозрачно и конкретно. А это если не так, то пусть
> топикстартер задаёт вопросы. Ну, или вы задавайте вопросы.
> Лично мне интересно, насколько это решение крос-сплатформенно.

command не отрабатывает, хотя в мане openssh упомянута.
но, вообще, я уверен на 99.9%, дело-таки в том, что он не пересоздал базу pwd.db, чем, собственно, и занимается vipw в конце. непонятно, почему он редактировал passwd, а не master.passwd, но, возможно, это особенности фряхи. камрад ранее дал плохой ответ- вместо объяснения механизма происходящего, он просто указал какую кнопку нажать



"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Licha Morada , 20-Мрт-20 00:16 
> command не отрабатывает, хотя в мане openssh упомянута.

Спасибо за фидбэк.


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено ыы , 20-Мрт-20 08:03 
> cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
> command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443"

А в /etc/passwd засунуть старт иксов, чтоб точно никто не догадался что-где...


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Licha Morada , 20-Мрт-20 18:45 
>> cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
>> command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443"
> А в /etc/passwd засунуть старт иксов, чтоб точно никто не догадался что-где...

Поясните, в чём это уподобляется засовыванию старта иксов в /etc/passwd?


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено ыы , 20-Мрт-20 20:45 
>>> cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
>>> command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443"
>> А в /etc/passwd засунуть старт иксов, чтоб точно никто не догадался что-где...
> Поясните, в чём это уподобляется засовыванию старта иксов в /etc/passwd?

Тем что создается смысловая каша из подразумевающегося назначения файлов.


"Как отключить пользователю шелл, оставив логин по SSH "
Отправлено Licha Morada , 20-Мрт-20 21:26 
>>>> cat >> /home/${NEWUSER}/.ssh/authorized_keys << EOF
>>>> command="~/nologin.sh",no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="localhost:443",permitopen="127.0.0.1:443"
>>> А в /etc/passwd засунуть старт иксов, чтоб точно никто не догадался что-где...
>> Поясните, в чём это уподобляется засовыванию старта иксов в /etc/passwd?
> Тем что создается смысловая каша из подразумевающегося назначения файлов.

Соглашусь что смысловая каша это нежелательное явление.

Поделитесь, где, по вашему мнению, было бы уместно указывать, что можно и что нельзя делать клиентам SSH, подключающимся с определёнными ключами?