3

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!

1

2 Answers 2

3

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
5
  • I think umask works only on newly created, not copied files Nov 9, 2012 at 10:02
  • copied files are new. Nov 9, 2012 at 19:29
  • @ЯрославРахматуллин not always pastebin.com/QtcMk8Q4
    – zb'
    Nov 9, 2012 at 21:54
  • Ok, 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. Nov 10, 2012 at 10:30
  • cp works, but not mv.
    – John Siu
    Nov 11, 2012 at 0:36
1

I don't believe it possible to do this on a directory-by-directory basis using standard unix permissions. ACLs, however, can do this.

1
  • I 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? Nov 13, 2012 at 13:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .