Эффективные разрешения ACL для изменения разрешений

Используйте linkс полным путем:

systemctl link /home/nick/myservice.service

Обратите внимание, что вы не можете ссылаться на файл, который сам по себе уже является ссылкой.

0
17.03.2020, 11:58
4 ответа

Маску можно изменить с помощью следующей команды:

setfacl -m m:rwx filename/directory
0
28.04.2021, 23:20

Если я правильно понял ваш вопрос, пользователь olaсоздает файлы в каталоге:/omega/olabooktmp/gettaxi

и вы хотите ограничить доступ к этим файлам, но предоставить доступ пользователю uber.

Примечание:/omega/olabooktmp/gettaxiпринадлежитola

Начнем пока без ACL:

ls -ld /omega/olabooktmp/gettaxi
drwxr-x--- 2 ola ola 4096 mars  21 08:16 /omega/olabooktmp/gettaxi

Чтобы предоставить rwxразрешение uberс помощью ACL, вы можете использовать:

setfacl -m u:uber:rwx,d:u:uber:rwX,o:--- /omega/olabooktmp/gettaxi

Что даст пользователю uberправа rwxна папку /omega/olabooktmp/gettaxi, а также предоставит rwxкак defaultd:и X. Он предоставляет разрешение на файлы, ранее присутствующие в папке, и дает унаследованные права доступа к файлу. А также удалить все остальные разрешения на otherдля ограничения, конечно. Владелец все еще имеет свое собственное разрешение.

Результат:

getfacl /omega/olabooktmp/gettaxi
getfacl: Removing leading '/' from absolute path names
# file: omega/olabooktmp/gettaxi
# owner: ola
# group: ola
user::rwx
user:uber:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:uber:rwx
default:group::r-x
default:mask::rwx
default:other::---

Тестирование:

olaсоздает некоторые файлы (запускается от имени пользователя root):

su - ola -c "for i in {1..3}; do date > /omega/olabooktmp/gettaxi/$RANDOM; done"

Результат:

ls -l /omega/olabooktmp/gettaxi/
total 32
-rw-r----- 1 ola users 32 mars  21 08:43 17606
-rw-r----- 1 ola users 32 mars  21 08:43 22286
-rw-r----- 1 ola users 32 mars  21 08:42 31484
-rw-r----- 1 ola users 32 mars  21 08:43 31848
-rw-r----- 1 ola users 32 mars  21 08:42 667
-rw-r----- 1 ola users  4 mars  21 08:16 one
-rw-r----- 1 ola users  6 mars  21 08:16 three
-rw-r----- 1 ola users  4 mars  21 08:16 two

Недоступно обычному пользователю (запуск от имени пользователя root):

su - debian -c "ls -l /omega/olabooktmp/gettaxi"
ls: cannot open directory '/omega/olabooktmp/gettaxi': Permission denied

Но uber может (работать как root):

su - uber -c "ls -l /omega/olabooktmp/gettaxi"
total 32
-rw-r----- 1 ola users 32 Mar 21 08:43 17606
-rw-r----- 1 ola users 32 Mar 21 08:43 22286
-rw-r----- 1 ola users 32 Mar 21 08:42 31484
-rw-r----- 1 ola users 32 Mar 21 08:43 31848
-rw-r----- 1 ola users 32 Mar 21 08:42 667
-rw-r----- 1 ola users  4 Mar 21 08:16 one
-rw-r----- 1 ola users  6 Mar 21 08:16 three
-rw-r----- 1 ola users  4 Mar 21 08:16 two

Если вы испортите свой ACL с помощью некоторых тестов, вы можете удалить все ACL с помощью:

setfacl -R -b /omega/olabooktmp/gettaxi

И снова.

0
28.04.2021, 23:20

Да, маска снижает разрешения. Действующее разрешение — это разрешение и маска.(user::(пользователь-владелец )и otherне зависят от маски ).

Вы можете изменить маску с помощью :, например. setfacl -m m:r-x file-name.

Когда вы делаете ls -l, если режим заканчивается на +, тогда средние биты режима (, традиционно групповые биты ), являются маской.

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

Обходной путь

Убедитесь, что у пользователей есть собственная группа, и что она установлена ​​как группа по умолчанию. Затем установите umaskна 007.

0
28.04.2021, 23:20

Я подозреваю, что это ошибка. Я писал об этом в прошлом месяце (, см. unix.stackexchange.com/questions/570795 ). Происходит то, что права доступа к исходному файлу копируются в маску acl командой cp. Это то, что я ожидал для cp -p, а не cp. Я обнаружил, что могу делать копии с помощью cat

cat afile > bfile

или путем пропускания через смолу

(cd A; tar -cf -)|(cd B; tar-xf -)

И ACL соблюдаются, как положено.

Я также назначил вознаграждение за объяснение этого поведения cp. Никто не объяснил. Думаю написать отчет об ошибке. т.е. что это должно быть поведение «cp -p», а не ванильное поведение cp. (И система вычла баллы за вознаграждение, хотя никто не мог дать ответ. Меня это тоже удивило.)

0
28.04.2021, 23:20

Теги

Похожие вопросы