Как автоматически изменить разрешения для файлов, скопированных в каталог?

Как автоматически изменить разрешения для файлов, скопированных в каталог?

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

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

решение1

Для этого можно использовать umask. Чтобы выяснить режим, сделайте следующее:

  7777
-umask
= новые разрешения

например (линукс):

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

решение2

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

Связанный контент