linux запрещает пользователю читать другой каталог

#linux

#linux

Вопрос:

Я создал пользователя, который использует /bin / rbash, поэтому он не может выполнить некоторые команды, такие как ‘cd’ и ‘ls’. Но он все еще может просматривать другой каталог при вводе некоторого пути, такого как ‘/ bin /’, затем с помощью tab оболочка покажет файлы под ‘bin’. И этому пользователю разрешено входить в систему только через последовательный порт. Как я могу ограничить работу пользователя только в его домашней директории и не читать другие каталоги.

Ответ №1:

Выполнив быстрый поиск, я нашел эту пару вопросов, которые, как мне кажется, могут соответствовать вашим требованиям

Создайте пользователя ssh, который может получить доступ только к домашнему каталогу

Предоставить пользователю доступ на чтение / запись только к одному каталогу

Ответ №2:

поместить

 set disable-completion on
  

введите строку в ~/.inputrc и перезапустите свою оболочку. это вообще отключит завершение.

это может решить мои вопросы

Ответ №3:

Можно использовать chroot для реализации пользователя, который не видит другие каталоги. Это может быть довольно сумасшедшим решением и не рекомендуемым способом сделать это.

Создайте скрипт, который делает chroot

 #!/bin/sh    
exec /usr/sbin/chroot /home/test /bin/sh
  

Используйте скрипт в качестве оболочки входа (/etc/passwd):

 test:x:0:0:Linux User,,,:/:/usr/sbin/chrootsh.sh
  

Скопируйте все необходимые файлы в домашний каталог пользователя. Вам нужна, по крайней мере, оболочка и библиотеки, которые необходимы для оболочки:

 ~ # ls -lR /home/test/
/home/test/:
total 2
drwxr-xr-x    2 root     test          1024 Aug 21 13:54 bin
drwxr-xr-x    2 root     test          1024 Aug 21 13:54 lib

/home/test/bin:
total 1776
-rwxr-xr-x    1 root     test        908672 Aug 21 13:54 ls
-rwxr-xr-x    1 root     test        908672 Aug 21 13:54 sh

/home/test/lib:
total 1972
-rwxr-xr-x    1 root     test        134316 Aug 21 13:54 ld-linux.so.3
-rwxr-xr-x    1 root     test       1242640 Aug 21 13:54 libc.so.6
-rwxr-xr-x    1 root     test        640480 Aug 21 13:54 libm.so.6
~ #
  

Готово. Затем войдите в систему как пользователь:

 ~ # su - test
/ # pwd
/
/ # ls -lR /
/:
total 2
drwxr-xr-x    2 0        1000          1024 Aug 21 13:54 bin
drwxr-xr-x    2 0        1000          1024 Aug 21 13:54 lib

/bin:
total 1776
-rwxr-xr-x    1 0        1000        908672 Aug 21 13:54 ls
-rwxr-xr-x    1 0        1000        908672 Aug 21 13:54 sh

/lib:
total 1972
-rwxr-xr-x    1 0        1000        134316 Aug 21 13:54 ld-linux.so.3
-rwxr-xr-x    1 0        1000       1242640 Aug 21 13:54 libc.so.6
-rwxr-xr-x    1 0        1000        640480 Aug 21 13:54 libm.so.6
/ #