LINUX.ORG.RU
ФорумAdmin

SELinux: Как запретить юзеру все, кроме запуска одной программы?


0

1

Как настроить SELinux так, чтобы у пользователя были права, достаточные только для работы определенной программы? Юзер будет подключаться через через ssh. Программа - smssend из пакета smstools. Основная функция smssend - чтение конфига, формирование файла в определенном формате, и запись его в \var\spool\smsd\checked.

Дяденькааа а зачем для этого нужен SELinux?

anonymous
()

Юзер будет подключаться через через ssh

сменить шел на smssend и параметры брать из stdin (или аналогичное прописать в .bash_login)

Юзер будет делать ((не)явно) что-то вроде: printf "line1\nline2\nline3\n" | ssh user@server

sdio ★★★★★
()
Ответ на: комментарий от i-rinat

((не)явно)

Это не понял? Если юзер продвинутый, то может явно задать вышеуказанную команду, если нет, то подготовить ему графическую форму с скрытым запуском той же вышеуказанной команды.

sdio ★★★★★
()

Сделай умолчальной оболочкой программу.

pony
()
Ответ на: комментарий от sdio

Просто вариант с вложенными комментариями понравился. Хотя я и стараюсь избегать вложенных (ну вот так например) комментариев (потому что их хотя и проще писать, но совершенно невозможно читать (а особенно когда автор начинает игру в «кто сможет сделать больше (глубже) вложенностей))), я от них тащусь (теперь это понятно, надеюсь (ну как надеюсь... Так, чуть-чуть теплится)). Похоже на многомерные шахматы. Столь же беспощадно, сколь и бессмысленно.

i-rinat ★★★★★
()

man sshd:

Match позволяет выставить ограничения для определённого пользователя. ForceCommand позволяет ограничить возможные команды

selivan ★★★
()

Ещё вариант, в authorized_keys:

command=«command»

Specifies that the command is executed whenever this key is used for authentication. The command supplied by the user (if any) is ignored. The command is run on a pty if the client requests a pty; otherwise it is run without a tty. If an 8-bit clean channel is required, one must not request a pty or should specify no-pty. A quote may be included in the command by quoting it with a backslash. This option might be useful to restrict certain public keys to perform just a specific operation. An example might be a key that permits remote backups but nothing else. Note that the client may specify TCP and/or X11 forwarding unless they are explicitly prohibited. The command originally supplied by the client is available in the SSH_ORIGINAL_COMMAND environment variable. Note that this option applies to shell, command or subsystem execution. Also note that this command may be superseded by either a sshd_config(5) ForceCommand directive or a command embedded in a certificate.

selivan ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.