2

Я хотел бы автоматизировать изменение разрешений для файлов, скопированных в каталог. Например, любые файлы, скопированные в папку X, должны иметь режим 755, а любые файлы, скопированные в папку Y, должны иметь режим 700.

Пожалуйста, посоветуйте, спасибо!

2 ответа2

2

Вы можете использовать umask для этого. чтобы выяснить режим, сделайте это:

  7777
-umask
= new permissions

например (linux):

 777
-022
 755

Значение umask равно 022, права доступа будут 755 для папок и 644 для файлов. Поместите что-то вроде umask 0027 в ваш ~/.profile, чтобы оно загружалось при каждом входе в систему.

ОБНОВЛЕНИЕ (из-за скептического комментария):

$ umask 
0077

$ ll
total 0
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 00
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 01
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 02
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 03

$ rm -rf ../copies/*; \
  /bin/cp --no-preserve=mode,ownership * ../copies/; ll ../copies/ 
total 0
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 00
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 01
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 02
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 03
1

Я не верю, что это можно сделать на основе каталогов с использованием стандартных разрешений Unix. ACL, однако, может сделать это.

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