Я настраиваю сервер и хочу, чтобы у пользователя был доступ только к его собственным файлам. Я делаю обычную команду adduser:
sudo adduser username
И даю пользователю пароль. Затем я вхожу в него через ssh и вижу, что могу перейти к / и другим домашним папкам пользователей. Кажется, у меня нет доступа к записи за пределами ~ /, но я просто думал, какой ущерб может нанести новый пользователь, не будучи добавленным в группу sudo?
Должен ли я принимать больше мер предосторожности? и заблокировать пользователя дальше?
В принципе, пользователь, созданный таким образом, не может нанести какой-либо ущерб за пределами своего домашнего каталога. Как вы заметили, обычный пользователь имеет доступ к различным каталогам (например, в /
, /usr/
, /tmp
). Это необходимо, потому что большинство доступных пользователю программ находится в /usr/bin
и /bin
. Если пользователь не имеет (только для чтения) доступа к этим каталогам, он / она не сможет запускать какие-либо программы. Однако обычный пользователь не имеет доступа к домашним каталогам других пользователей.
Вы можете использовать команду ls -l
для просмотра прав доступа к файлу или каталогу. См. https://help.ubuntu.com/community/FilePermissions для получения дополнительной информации о правах доступа к файлам.
Можно ограничить пользователя ssh только несколькими программами. См. http://www.pizzashack.org/rssh/ и http://www.cyberciti.biz/tips/linux-unix-restrict-shell-access-with-rssh. html для инструмента rssh, который ограничивает пользователя для запуска только таких инструментов копирования, как scp
и rsync
. Такие пользователи не смогут нормально войти в систему, чтобы получить оболочку и выполнить другие команды.
Другой вариант - создать среду «chroot» или «jail». См. этот вопрос AskUbuntu .