Общий umask NFS

С bash 4.4.19 у меня сработало следующее. Вот полный пример

$export MAGENTO_DB_HOST="anyvalue"

#!/bin/bash

if [ -z "$MAGENTO_DB_HOST" ]; then
    echo "Magento variable not set"
else
    echo $MAGENTO_DB_HOST
fi
0
22.04.2021, 12:29
1 ответ

Во-первых, вы используете NFS версии 3 или 4? Если версия 3, будут ли и сервер, и клиенты поддерживать расширение NFSACL?

Если вы используете NFSv3 + NFSACL или NFSv4, а реальная файловая система на сервере NFS поддерживает списки управления доступом, на сервере NFS должна быть возможность сделать что-то подобное (настроить разрешения в соответствии с вашими потребностями):

setfacl -m d:u::rwx,d:g::rwx,d:o::rwx /nfs_anon

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

find /nfs_anon -type d -exec setfacl -m d:u::rwx,d:g::rwx,d:o::rwx {} \+

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


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

Насколько я понял, даже ACL не сможет установить биты разрешения x, если программа их не запрашивала изначально -он может только вычесть (маску )бит из исходного запроса программы.

1
28.04.2021, 22:51

Теги

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