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

Можно ли в UNIX защитить каталог паролем?

Есть ли способ защитить паролем каталог в UNIX? Что-то вроде:

~$ cd dir
~$ Password:
~/dir$

В Unix это можно сделать с помощью существующих разрешений, сделать этот каталог и его содержимое owned конкретным владельцем и / или группой и требовать от всех su этому владельцу или быть частью этой группы для доступа к содержимому путем удаления прав на чтение и запись у всех, кроме этого пользователя и / или группы, su запросит пароль.

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

Грязно, но может сработать.

Да, это возможно. Решения таковы:

  • измените оболочку (для этого обновите bash)
  • используйте LD_PRELOAD и создайте библиотеку, которая заменяет cwd () и запрашивает пароль (pam ...), если рабочий каталог является запрещенным, а процесс имеет STDIN, STDOUT, подключенный к tty. После того, как вы довольны результатами, добавьте библиотеку в /etc/ld.so.preload

Вы могли бы сделать что-то безумное, например написать свою собственную программу 'cd', которая будет аутентифицировать пользователя, а затем использовать списки контроля доступа для изменения разрешений каталога, чтобы дать им разрешение на соответствующий каталог (и я предполагаю, что рекурсивно все, что находится под ним), а затем назовите обычный "cd", чтобы войти в него. Также необходимо будет каким-то образом установить тайм-аут и отменить перма или каким-то образом определить, что они вышли из системы. Определенно испытание.

Прежде всего, UNIX больше не существует. Только UNIX-подобный. Сходство между ними слишком велико, чтобы дать вам точный ответ на поставленный вопрос.

Вещи, которые можно назвать Связанный к тому, что вы спрашиваете: