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

установка пароля на папку с помощью команды оболочки

я знаю, что это, наверное, очень просто, но я поискал в Интернете и не нашел

Я хочу установить пароль для папки (чтобы мог войти только тот, кто знает пароль) в Linux, используя только команду оболочки. кто-нибудь знает, как я могу это сделать?

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

  1. Вы хотите, чтобы другие пользователи системы не попадали в папку
  2. Вы хотите уберечь всех, в любом месте и в любое время от папки без разрешения

В ситуации №1 у вас есть разрешения Unix через доступную вам команду chmod (1). У вас также есть несколько продвинутых приемов с командами setfacl (1) и getfacl (1). Обратите внимание, что желаемый «пароль» привязан к учетной записи, выполняющей доступ. Если вас беспокоит, что у кого-то слишком много способов использовать учетную запись (например, ssh, X11, console, serial, ftp, Subversion), узнайте о сложном мире PAM (подключаемых модулей аутентификации) и ограничьте их возможности. Если вы считаете, что используемые пароли будут слишком слабыми (например, «password123»), то PAM может обеспечить сложность и длину паролей. Короче говоря, сделайте аутентификацию для доступа к папке через метод аутентификации пользователя операционной системы. Это обеспечивает лучший учет, ограничения и возможность обновления.

Чтобы продемонстрировать команды setfacl и getfacl, рассмотрим трех пользователей: «u1», «u2» и «u3». Мы смотрим на папку «/ f», принадлежащую «u1». «u1» предоставит доступ только к «u2», оставив «u3».

u1%  umask 700; mkdir /f; setfacl -m user:u2:rwx /f
u1%  getfacl /f
   user::rwx
   user:u2:rwx    <-- access granted 
   group::---     <-- anyone in the same group is still denied
   mask::rwx
   other::---     <-- everybody else is locked out too

В ситуации № 2 у вас есть злоумышленник, который может получить доступ к любой части жесткого диска в любое время. Для этого вам нужно будет использовать шифрование и устройство обратной связи. Я не буду здесь останавливаться на этой теме, поскольку она довольно сложна. Некоторые дистрибутивы (Ubuntu?) Позволяют шифровать домашние каталоги.

Защита файла паролем бесполезна, если нет способа запросить пароль у пользователя или если при монтировании файловой системы в другой системе требуется пароль. Вот почему зашифрованным флеш-накопителям трудно работать в Linux - они используют специальное программное обеспечение Windows для сбора пароля, необходимого для расшифровки устройства.

= нулевое время

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

chmod 640 file.txt

Обновить:

Чтобы добавить группу (как root), используйте команду groupadd.

# groupadd mygroupname

Удалить:

# groupdel mygroupname

Добавление / удаление людей в / из группы:

# usermod -G mygroupname userNameToAdd

Обратите внимание: для этого необходимо быть владельцем системы. Если вы хотите сделать это специально как пользователь в системе, вам почти лучше добавить файлы в архив и передать их пароль или зашифровать файлы и поделиться ключом.

Как сказал embobo в своем комментарии, вы можете использовать gpasswd для создания администратора (ов) группы, который может добавлять / удалять людей из группы, проверьте страницу руководства по этому поводу.

Альтернативный подход - заархивировать каталог и удалить незашифрованные файлы с помощью этой команды

zip -e protected.zip directory/ && rm -rf directory/

Вам будет предложено (дважды) ввести пароль.

Вы можете снова «разблокировать» папку, разархивировав ее.

Видеть man zip и man unzip если это выглядит, это может быть решением