Установите их оболочку на /bin/false
с помощью chsh
. например. (как корень):
chsh -s /bin/false username
Это не позволит им получить оболочку при входе в систему через консоль или через ssh и т. д. Этого достаточно для большинства целей, но если они могут запускать другие программы в системе, у них есть много других способов получить как ад.
Это также эффективно предотвратит их вход в систему вообще, поэтому, если это не пользователь системы, предназначенный для запуска определенного демона (, например. www -данные для запуска apache )или его почтовый ящик -только пользователь или аналогичный, нет особого смысла в том, чтобы пользователь вообще имел учетную запись.
Другой, возможно, лучший вариант — настроить их оболочку на ограниченную оболочку , такую как /bin/rbash
, которая позволяет им запускать программы только в их (предварительном -наборе )PATH и запрещает им изменять каталог с помощью cd
или изменять переменные среды, такие как SHELL
, PATH
и т. д. Подробности см. в man rbash
.
напр. вы можете создать каталог где-нибудь в системе (, например. /usr/local/rbin ), скопируйте или свяжите в него разрешенные двоичные файлы и установите их PATH так, чтобы они могли запускать только программы, найденные в этом каталоге. Вы должны быть осторожны, какие программы вы помещаете в этот каталог -, например. установите rvim
вместо vim
, если им нужен текстовый редактор (rvim не позволяет выполнять команды оболочки ).
ПРИМЕЧАНИЕ. :Это потребует много работы и требует тщательного исследования, чтобы сделать все правильно (, т. е. чтобы не оставить лазейку, позволяющую получить доступ к оболочке ). На этом сайте есть несколько вопросов и ответов о rbash
и других ограниченных оболочках. Начните свое исследование с:
https://unix.stackexchange.com/search?q=rbash
и очень тесно связанная темаchroot
: