человек getfacl

человек getfacl

У меня есть общий каталог Department, в нем есть 3 подкаталога: Account, Sales, Presales, и в каждом подкаталоге есть каталог сотрудников отдела, например acc1, acc2, acc3 / sale1, sales2 / ps1, ps2, ps3, ps4.

как у каждого сотрудника есть имя пользователя и пароль для доступа только к своему каталогу без просмотра каких-либо других каталогов.

то же самое я сделал на сервере Windows.

как мне это сделать?

решение1

Во-первых, пусть каждый сотрудник принадлежит к группе отделов, то есть acc1 принадлежит Account, а ps3 принадлежит Presales. Затем, на уровне отдела, пусть каждый подкаталог в Department имеет свой идентификатор группы, равный соответствующей группе отдела, с доступом на чтение и выполнение на уровне группы и отмените все права доступа у других, так что это выглядит так, когда вы это делаете ls -la Departments:

drwxr-x---  5 root Account  4096 Jul 25 08:43 Account
drwxr-x---  6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x---  4 root Sales    4096 Jul 25 08:44 Sales

Затем укажите идентификатор пользователя и идентификатор группы каждого каталога сотрудников как пользователя, предоставьте пользователю полный доступ к каталогу и отмените весь доступ для группы и других пользователей, например, для учетной записи:

drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3

chown, chgrpи chmodваши друзья, если вы делаете это в командной строке. Смотрите, напримерhttp://www.perlfect.com/articles/chmod.shtmlдля получения подробной информации об их использовании.


Этот метод работает, если разрешения/членство можно определить иерархически и единообразно, т. е. нет необходимости смешивать различные виды и/или уровни разрешений на определенном уровне (например, некоторые отдельные пользователи имеют доступ на чтение и запись, но пользователи, принадлежащие только к группе, имеют доступ только на чтение) — для этих случаев необходимы списки контроля доступа (ACL).

решение2

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

используйте страницы руководства для:

человек getfacl

человек setfacl

использование будет примерно таким:

setfacl -md:g:"имя_группы":rwx /путь/к/желаемому/каталогу

setfacl -mg:"имя_группы":rwx /путь/к/желаемому/каталогу

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

***ПРИМЕЧАНИЕ: кавычки вокруг имени группы указывают на то, что в команде следует указать имя группы. Не используйте сами кавычки при выполнении команды, имя группы должно быть указано без кавычек.

Связанный контент