2013-07-30 2 views
0

Мне нужно создать отдельную папку для пользователя, где ему разрешено выполнять только один двоичный файл. Он может вызывать python/perl и запускать программу. Но пользователь не должен удалять любую папку в своем каталоге и не должен иметь возможность просматривать какой-либо другой каталог. Как я могу достичь этого?Ограничение пользователя linux в папку

ответ

2

Если они имеют доступ только к ssh, то ChrootDirectory - это путь. Проще говоря, вы создаете фальшивую систему / в другом каталоге, со всеми программами пользователю разрешено запускать & библиотеки, в которых они нуждаются.

См. Раздел ChrootDirectory справочной страницы sshd_config или где-то вроде Here для более полного руководства, если необходимо.

+1

Возможно, вам понадобится привязать монтирование '/ proc /' & '/ dev' и некоторые другие системные каталоги внутри этого * chroot * –

0

CHMOD делает работу

chmod 755 directory/filename 

7 user (**owner**) has full access. 
5 allows **group** user "read" and "execute" permissions, but 
    not "write" permissions. 
5 allows **others** "read" and "execute" permissions, 
    but not "write" permissions.  

Для справки:

5 позволяет "читать" и "Execute" права доступа, но не "писать" разрешения. A 6 позволит разрешать чтение и запись, но не «выполнять». A 4 будет «читать» только. A 2 будет «писать» только, и 1 будет «исполнять» только.

Далее Справка: link

0

Вы могли бы также рассмотреть вопрос о настройке и использовании ограниченной оболочки, как, например, a restricted bash.

Однако обратите внимание, что если вы включите пользователя для запуска языка сценариев, например Python, он сможет обойти эти ограничения (используя некоторые умные скрипты). Поэтому предпочтительнее chroot.

Вы можете определить отдельную группу для этого пользователя, чтобы воздерживаться от его выполнения намного большего. См. Также nobody username, SELinux и т. Д.

Смежные вопросы