Существует ли команда оболочки для рекурсивного предоставления разрешения каталогам и файлам?

Вы можете использовать простой скрипт, который:

  • получит метку времени за день до того, как
  • преобразует ее в формат даты боя
  • , запустит SQL-запросы получить результаты
  • отправить электронное письмо с результатами

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

6
задан James McMahon 9 March 2009 в 22:41
поделиться

4 ответа

Первая строка изменяет полномочия файла и вторые полномочия каталога изменений в активном каталоге и его подкаталогах.

find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
12
ответ дан 8 December 2019 в 02:53
поделиться

Существует X опций для этого.

chmod a+X * -R

Это даст, выполняют бит только к каталогам, не файлам. Для установки 644, 755, соответственно с одной командой, используйте:

chmod a=rX,u+w <files/dirs> -R
15
ответ дан 8 December 2019 в 02:53
поделиться

Используя символьный режим называет вместо необработанных числовых полномочий:

chmod -R u=rwX,go=rX somedir

X флаг разрешения только устанавливает каталоги или уже исполняемые файлы как исполняемый файл, -R флаг означает "рекурсивный" и применяет полномочия ко всему содержанию somedir.

3
ответ дан 8 December 2019 в 02:53
поделиться

Нет, нет никакой команды для рекурсивного изменения полномочий. Если бы была такая команда, то она нарушила бы молитву Unix: Сделайте Одну Вещь И Сделайте Это Хорошо.

Однако существует две команды: один для рекурсивного вызова (find), и один для изменения полномочий (chmod).

Так, волшебная командная строка:

find . -type d -exec chmod 0755 '{}' + -or -type f -exec chmod 0644 '{}' +
2
ответ дан 8 December 2019 в 02:53
поделиться