Как изменить разрешения для каталога


9

Я использую CentOS, и я хотел бы знать, как изменить разрешения для папки с несколькими файлами в ней.

Я использовал следующие команды для папки как root (скажем, folder = A):

chmod 777 (главная / директория / A)

chmod g + r (A)

Если я рассматриваю папку как обычный пользователь с помощью файлового менеджера, значок блокировки не отображается, что указывает на то, что разрешения были предоставлены? однако все файлы в папке A все еще показывают значок блокировки, указывающий, что только папке A было предоставлено разрешение и ни один из подкаталогов в ней.

Выполнить команды, упомянутые выше, для всех подкаталогов будет довольно трудоемкой задачей, поскольку их просто слишком много.

Спасибо!

Ответы:


15

Чтобы установить разрешения для папки и всех подпапок / файлов, вам нужно использовать рекурсивный параметр в вашей команде:

chmod 777 -R /path/to/directory

Для получения дополнительной информации, используя chmod, смотрите здесь .

ОБНОВИТЬ:

Отказ от ответственности: использование chmod 777 сделает вашу папку исполняемой для всех. Пожалуйста, смотрите ниже для просмотра настроек

Ваши разрешения установлены с использованием трех чисел.

100 для владельца файла
400 читать
200 писать
100 выполнять

10 для группы из файла
40 чтения
20 записи
10 выполнения

1 для всех
4 читать
2 написать
1 выполнить

В вашем примере вы даете владельцу, группе и всем полные права на ваш файл. Например, если вы хотите предоставить владельцу и группе полные права, а все остальные - только права на чтение и выполнение, вы должны использовать 775.

Если вы хотите использовать буквенное представление вместо цифр, смотрите здесь


Спасибо! Мэтью за решение проблемы и за предоставление информативной ссылки, которая только что была
добавлена ​​в

Если вы нашли это полезным, пожалуйста, отметьте как ответ.
Гаурав Иосиф

не сделает ли это все файлы внутри папки исполняемыми?
STIB

Да, будет, но из его вопроса я понимаю, что он хочет этого. Ссылка, которую я предоставил, поможет ему с его разрешениями. Поскольку вы упоминаете об этом, я обновлю свой ответ, чтобы включить взгляд на это.
Мэтью Уильямс

1

Вы можете использовать chmod, чтобы изменить биты прав доступа. Опция -R для рекурсивно - используется для каталогов. Биты объясняются как rwx, т.е. чтение, запись и выполнение. Если r = 1, w = 1 и x = 1. Двоичное число 111 означает 7 в десятичном виде. Таким образом, вы видите 7. Теперь поля определены как u = пользователь, группа и другие. Итак, если вы хотите дать разрешение всем, тогда вы делаете chmod -R 777 dir_name. Также вы можете сказать chmod -R a + rwx dir или если вы хотите удалить какое-то разрешение, то вы можете сказать, что chmod -R ax dir - это удалить исполняемое разрешение.

Кроме того, вы можете сделать man на chmod, чтобы узнать больше деталей.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.