
В моей файловой системе есть файл с именем «/etc/file.conf».
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
other::r--
Я хочу, чтобы у моей учетной записи 'userr' были права на запись, чтобы мой скрипт Python мог писать в нее. Она принадлежит root, поэтому моя идея состояла в том, чтобы создать новую группу и установить ее для нее.
$ sudo groupadd rsnap
$ sudo usermod -a -G rsnap userr
$ id userr
uid=1000(userr) gid=1000(userr) groups=1000(user),27(sudo),1001(rsnap)
$ sudo setfacl -m g:rsnap:rw /etc/file.conf
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
group:rsnap:rw-
mask::rw-
other::r--
Однако..
$ echo "Test" >> /etc/file.conf
-bash: /etc/file.conf: Permission denied
Что я пропустил?
решение1
Вы изменили /etc/rsnapshot.conf
, но вы протестировали с помощью /etc/file.conf
.
Вам все равно необходимо включить маску через:
setfacl -m m:rw- filename
или
setfacl -m m::rw- filename
в зависимости от ОС - обратите внимание, что этот тип ACL никогда не был стандартизирован. Соответствующее стандартное предложение от 1993 года было отозвано в 1997 году.
Кстати: Я только что заметил, что ваша маска, возможно, уже установлена. Так что вы все равно использовали неправильное имя файла.
Проблемы с этим устаревшим предложением ACL будут возникать часто, поскольку стандартное предложение так и не было завершено, и было достигнуто соглашение, что это не то, что хотят иметь клиенты.