4

Рекурсивна зміна прав в Unix

1 вересня 2009 р. у Технічні теми

Постійно забуваю. Можливо, якщо запишу тут, то запамʼятаю. Або, принаймні, точно буду знати де шукати.

Щоб рекурсивно змінити права директорій в поточній директорії, в Linux (Unix, BSD):

find . -type d -exec chmod 755 {} \;

Щоб рекурсивно змінити права на файли, починаючи з поточної директорії:

find . -type f -exec chmod 644 {} \;

P.S.

Я майже впевнений що десь вже про це, сам для себе, писав…

4 комент., на разі:

  1. Savio коментує:

    Нда, як все складно в лінуксі… В Freebsd це робиться так:
    chmor -R 777 /directory – після чого всі папки, які є всередині directory, отримають права 777

  2. jin коментує:

    Так можна ж chmod -R 655 *

    • Юра коментує:

      Так можна ж chmod -R 655 *

      Не завжди. Бо тоді зміняться права І на файли І на директорії.

      А принцип аналізу прав для директорій дещо інший від файлів.

      Наприклад права 655 для директорії заборонять усім увійти в неї. Для того щоб бачити вміст директорії вона повинна мати атрибути прав 755. Якщо для файлу параметр x (rwx) це ознака виконувальності, то для директорії ця ж ознака є правом “бачити вміст”.

      Тому, якщо змінювати права на директорію, що містить і файли і директорії — для файлів і директорій права треба встановлювати різні.

Залишити коментар




або:
OpenIdGoogleBloggerLivejournalFlickrMyOpenIDYahooWordpress