В UNIX возможно ли защитить паролем каталог?
Есть ли способ защитить паролем каталог в UNIX? Что-то вроде:
~$ cd dir
~$ Password:
~/dir$
5 ответов
Unix способ сделать это через существующие разрешения, создать этот каталог и его содержимое owned
конкретным владельцем и / или группой и требуют, чтобы все su
этому владельцу или быть частью этой группы, чтобы получить доступ к содержимому, удалив права на чтение и запись у всех, кроме этого пользователя и / или группы, su
запросит пароль.
Теоретически вы можете сделать что-то вроде хранения содержимого каталога в зашифрованном файле и fuse
провайдер расшифровывает его в файловую систему - но сначала предоставляет пользователю диалог. (и предположительно блокирует системные вызовы этой файловой системы, пока пользователь не введет фразу-пароль)
Грязно, но это может сработать.
Да, это возможно. Решения таковы:
- измените оболочку (для этого обновите bash)
- используйте LD_PRELOAD и создайте библиотеку, которая заменит cwd(), и запросите пароль (pam...), если рабочий каталог запрещен и у процесса есть STDIN, STDOUT, подключенный к tty. После того, как вы довольны результатами, добавьте библиотеку в /etc/ld.so.preload
Вы можете сделать что-то безумное, например написать собственную программу 'cd', которая будет аутентифицировать пользователя, а затем использовать списки контроля доступа, чтобы изменить права доступа к каталогу, чтобы дать им разрешение на рассматриваемый каталог (и, я думаю, рекурсивно все под ним), а затем Назовите нормальный "CD", чтобы войти в него. Это также должно было бы как-то тайм-аут и отменить перманент или как-то определить, что они вышли из системы. Определенно испытание.
Прежде всего, нет более эффективной UNIX. Только UNIX-подобный. Сходство между ними слишком широкое, чтобы дать вам точный ответ на вопрос.
Вещи, которые можно упомянуть в связи с тем, что вы спрашиваете:
- ЛУКС - Linux
- EncFS с предохранителем (что должно сделать его более портативным для разных устройств)
- EXT4-встроенное шифрование - Linux