Изменить разрешение папки

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

0
задан 6 November 2011 в 01:01

2 ответа

sudo chown -R username:root "/directory you want"

-R представляют рекурсию для всех ее подкаталогов и файлов.

username- текущий пользователь

Это полезно для разрешения на чтение / запись / выполнение

0
ответ дан 6 November 2011 в 01:01

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

find . -type d | xargs chmod o=rx 
find . -type f | xargs chmod o=

find рекурсивно найдет файлы (-type f) и каталоги (-type d) и напечатать их имена (без другого указанного действия), и это передается по каналу xargs, который выполняет свои аргументы с файлами, которые он читает из канала. chmod изменяет права доступа для других (o, что означает ни вас, ни других в группе, владеющей файлом) на точное (=) чтение / список (rx) для папок и ничего для простых файлов.


Как отметил в комментарии grumbel, это будет работать только с именами с хорошим поведением. Чтобы получить их все, воспользуйтесь его решением:

find . -type d -print0 | xargs -0 chmod o=rx 
find . -type f -print0 | xargs -0 chmod o=

или встроенным в find -exec:

find . -type d -exec chmod o=rx '{}' ';'
find . -type f -exec chmod o= \{\} \;

Обратите внимание, что вы можете заключить в скобки и точку с запятой, как в первой строке, или избегайте их как вторые, они просто должны быть там в отдельных аргументах. Кроме того, -exec будет выполнять chmod один раз для каждого файла, в то время как xargs будет делать это в минимально возможном количестве команд (в зависимости от максимальной длины командной строки). Вот почему я обычно предпочитаю xargs.

0
ответ дан 6 November 2011 в 01:01

Другие вопросы по тегам:

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