How to automatically change permissions for files copied to a directory?
I would like to automate changing permissions for files copied to a directory. For example, any files copied to folder X should have mode 755, and any files copied to folder Y should have mode 700.
Please advise, thank you!
You can use umask
for this. to figure out the mode do this:
7777 -umask = new permissions
for example (linux):
777 -022 755
umask is 022, permissions will be 755 for folders and 644 for files. Put something like umask 0027
in your ~/.profile to have it load each time you log in.
UPDATE (due to a skeptic comment):
$ 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
I don't believe it possible to do this on a directory-by-directory basis using standard unix permissions. ACLs, however, can do this.