Назад | Перейти на главную страницу

Ограничение команд Exec для пользователей Linux

Как я могу ограничить объем исполняемых команд, которые может запускать пользователь Linux?

Например, я хочу, чтобы пользователь мог запускать только ls команда и ничего больше. Если пробовали, например запустить cat, linux выдаст ошибку или вернет null.

Я заглянул в alias команда, чтобы установить предопределенный список пользовательских команд, но это не ограничивает пользователя от выполнения других команд. Я действительно хотел бы установить alias затем ограничивают область действия только этими.

Я также изучил эта документация ограничивают пользователей, но все еще не знают, как это сделать.

Область действия: я использую учетную запись службы для запуска команд ssh в нашем приложении PHP. Я хочу ограничить команды для этой учетной записи службы, чтобы предотвратить ситуацию, когда кто-то вводит команды в ssh_exec(); - Такие как ls и ввести | some command

Думаю, я попробую это: https://github.com/ghantoos/lshell

Вы также можете привязать команды к определенным ssh-ключам в файле авторизованных ключей.

from="host.com",command="/bin/ls" ssh-dss <SSH PUBLIC KEY>

Это ограничивает доступ к учетной записи с использованием определенного общедоступного ssh, чтобы запускать только определенную команду с определенного хоста. Видеть

man sshd 

для дополнительных опций.

Я бы, наверное, занялся этой ситуацией, написав сценарий-оболочку. Здесь для вас доступно частичное решение, пожалуйста, прочтите и посмотрите, не сможете ли вы сделать это по этой ссылке.

https://unix.stackexchange.com/questions/92049/restrict-standard-users-to-run-a-command-with-a-specific-argument

Я знаю, что это определяет использование UID, если вам это нужно для нескольких пользователей, подумайте об использовании GID вместо этого и поместите всех этих типов пользователей в ту же самую группу.

Ура и удачи!

Если вы хотите ограничить выполнение команд пользователями SSH, вы можете использовать ChrootDirectory введено в OpenSSH 4.9p1

Вы также найдете статически связанный двоичный файл busybox полезно при настройке среды chroot. (В приведенной выше статье уделяется много внимания настройке полной среды chroot.)