Как Ubuntu сохраняет постоянные права доступа для точек монтирования автоматически подключаемых пользователем устройств?

Только один пользователь может владеть файлом в традиционном смысле. Но в современных системах unix можно использовать еще одну меру - списки управления доступом или ACL: s.

ACL: в основном это дополнительные элементы управления для доступа на чтение, запись и выполнение в дополнение к традиционным разрешениям пользователя / группы / других.

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

sudo setfacl -d -m g:apache:rw /path/to/webserver/www

Чтобы убедиться, что существующие файлы имеют одинаковые разрешения:

sudo setfacl -m g:apache:rw /path/to/webserver/www/*

Для получения дополнительной информации см. man setfacl и man getfacl .

1
23.12.2016, 23:37
1 ответ

Вы должны разделять каталог и (каталог, используемый в качестве) точки монтирования. Когда вы монтируете файловую систему "поверх" каталога, этот каталог (и все файлы и каталоги под ним) становится непонятным - покрытым, если хотите - файловой системой, которую вы смонтировали "поверх" него. Изменения, которые вы внесли, были сделаны в файловой системе на вашей USB-ручке, и поэтому остаются между монтированиями - не на (переходном) каталоге, используемом в качестве точки монтирования (который создается заново - с правами по умолчанию - каждый раз, когда он нужен). По сути, верхняя/корневая (/) часть файловой системы на вашей USB-ручке, "становится" точкой монтирования!


На вашей USB-ручке есть отдельная файловая система с собственным корнем (/).

Когда вы подключаете USB-ручку, создается каталог под названием Corsair - с некоторым разрешением по умолчанию и правом собственности под /media/alexey.

Затем корневая файловая система на USB-ручке монтируется "поверх" каталога /media/alexey/Corsair- скрывая его. С этого момента, когда вы что-то делаете (например, меняете разрешение или владельца) в каталог Corsair, вы фактически изменяете все в корневом каталоге на вашей USB-ручке.

Когда вы размонтируете USB-ручку, каталог Corsair будет удален. Но файловая система на USB-ручке - со всеми внесенными в нее изменениями, включая корень, - остается.

Когда вы снова подключаете USB-ручку, создается новый каталог Corsair с разрешениями по умолчанию - и без памяти от того, что было сделано в прошлый раз. Однако когда файловая система USB-ручки и ее корень будут смонтированы поверх каталога, сделанные вами изменения все еще будут там - потому что изменения были сделаны на вашей USB-ручке, а не в переходном каталоге.

3
29.04.2021, 00:06

Теги

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