
Я хочу добавить (не изменять другие разрешения файлов) для всех каталогов в пути, указанном ниже. Что-то вродеchmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/
Путь
/home/mDB/admin/KNUCKLES/dbs/
Я пробую использовать эту команду, которую нашел на форуме, но она у меня не работает.
chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R
Я хочу изменить разрешения только для всех пользователей, а не для владельца файла/каталога или групп.
Заранее спасибо.
решение1
Ты можешь сказать:
chmod -R o+r /home/mDB/admin/KNUCKLES/dbs/
Это дало бычитатьразрешение рекурсивнодругие, т.е. не владелец/группа.
EDIT: Согласно вашему комментарию, похоже, что проблема в разрешениях для каталогов, а не для файлов. Можно сказать:
chmod o+rx /home/mDB/{admin,admin/KNUCKLES,admin/KNUCKLES/dbs}
Обратите внимание, что поскольку это каталоги, вам необходимо установить x
бит выполнения. Без этого r
не будет никакого смысла!
решение2
Вам придется разделить его и выполнить несколько команд.
chmod -R xx4 /home/
chmod -R xx4 /home/mDB/
chmod -R xx4 /home/mDB/admin/
chmod -R xx4 /home/mDB/admin/KNUCKLES/
chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/
Кто-то с более продвинутыми познаниями в командной строке, чем я, может знать более короткий путь.
решение3
Чтобы установить бит выполнения только для каталогов, выполните следующие действия:
chmod -R a+X dir
Из man chmod:
выполнять/искать только если файл является каталогом или уже имеет разрешение на выполнение для какого-либо пользователя (X)
Ответ от:https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files