4

Я хочу добавить (не изменять другие права доступа к файлам) для всех каталогов в пути, указанном ниже. Что-то вроде chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

Путь

/home/mDB/admin/KNUCKLES/dbs/

Я пытаюсь с помощью этой команды, которую я нашел на форуме, но у меня не работает.

chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R

Я только хочу изменить разрешения для всех пользователей, а не для владельца файла / каталога или групп.

Заранее спасибо.

3 ответа3

4

Ты можешь сказать:

chmod -R o+r /home/mDB/admin/KNUCKLES/dbs/

Это дало бы рекурсивное разрешение на чтение другим, т.е. не владельцу / группе.

РЕДАКТИРОВАТЬ: Согласно вашему комментарию, кажется, что разрешения для каталогов является проблемой, а не файлов. Ты мог бы сказать:

chmod o+rx /home/mDB/{admin,admin/KNUCKLES,admin/KNUCKLES/dbs}

Обратите внимание, что, поскольку это каталоги, вам нужно установить бит выполнения x . Без этого r будет служить цели!

3

Вам придется разделить его и выполнить несколько команд.

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/

Кто-то с более продвинутой командной строкой-фу, чем я, может знать более короткий путь.

0

Чтобы установить бит выполнения только для каталогов, выполните следующие действия:

chmod -R a+X dir

От человека chmod:

выполнять / искать, только если файл является каталогом или уже имеет разрешение на выполнение для некоторого пользователя (X)

Ответ от: https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .