Я хотел бы автоматизировать изменение разрешений для файлов, скопированных в каталог. Например, все файлы, скопированные в папку 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 могут это сделать.