How to automatically change permissions for files copied to a directory?
7,687
Solution 1
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
Solution 2
I don't believe it possible to do this on a directory-by-directory basis using standard unix permissions. ACLs, however, can do this.
Related videos on Youtube
Author by
The Chosen One
Updated on September 18, 2022Comments
-
The Chosen One over 1 year
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!
-
Larry over 11 yearswould this help? superuser.com/questions/47463/… or this; superuser.com/questions/237802/…
-
-
The Chosen One over 11 yearsI think umask works only on newly created, not copied files
-
Ярослав Рахматуллин over 11 yearscopied files are new.
-
zb' over 11 years@ЯрославРахматуллин not always pastebin.com/QtcMk8Q4
-
Ярослав Рахматуллин over 11 yearsOk, if copied files aren't new, then what are they? ... As I have shown umask can be used to to affect new files that cp makes. Perhaps some versions of cp don't support this, but rsync could probably (haven't checked) be used on those systems to do the same thing. Anyway, this isn't what the question was about and the answer is incorrect.
-
John Siu over 11 yearscp works, but not mv.
-
The Chosen One over 11 yearsI edited /etc/fstab and added acl attribute on the partition which contains folders X and Y. What setfacl command should I use to solve my problem?