Я добавил пользователя в систему через adduser
инструмент. Тогда, в /etc/passwd
, я попытался изменить /bin/bash
к /sbin/nologin
или /dev/null
, но ни один из них работал.
Я бы хотел, чтобы у пользователя не было возможности получить интерактивную оболочку, а просто использовать sftp
. Есть ли способ?
Я знаю, что здесь уже спрашивали, но, похоже, никто не дал удовлетворительного ответа.
Ответы:
Командой, которую вы должны использовать для изменения оболочки, является chsh . Оболочка нологин может быть
/sbin/nologin
или/usr/sbin/nologin
(проверьте, что у вас есть, заглянув в/etc/shells
), но/bin/false
, вероятно, будет лучшим выбором.Вы должны подумать о настройке чего-то вроде scponly, которое будет делать именно то, что вы хотите.
источник
/bin/false
и/bin/nologin
на самом деле доступны/etc/shells
!nologin
в/etc/shells
! serverfault.com/a/328424Вы также должны быть в состоянии сделать это с OpenSSH 4.9 и выше, с помощью которого вы можете дополнительно сделать chroot пользователя для повышения безопасности.
В вашем
/etc/ssh/sshd_config
:Затем запустите:
Пользователь сможет писать только в / home / user / uploads.
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
источник
Я думаю, что лучший способ с mysecureshell
http://mysecureshell.sourceforge.net/en/index.html
Вы можете легко привязать пользователя к нему и даже при необходимости ограничить полосу пропускания.
источник
Вы можете добавить пользователя с помощью,
-s /bin/false
чтобы отключить его оболочку, но то, что вы действительно должны посмотреть на настройку, это учетная запись sotp в chroot. Это позволит «заключить» пользователя в его собственный каталог и лишить его возможности доступа или изменения любых файлов или каталогов вне каталога chroot.источник