Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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!

share|improve this question
    
would this help? superuser.com/questions/47463/… or this; superuser.com/questions/237802/… –  wuxmedia Nov 8 '12 at 21:28

2 Answers 2

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
share|improve this answer
    
I think umask works only on newly created, not copied files –  The Chosen One Nov 9 '12 at 10:02
    
copied files are new. –  Ярослав Рахматуллин Nov 9 '12 at 19:29
    
@ЯрославРахматуллин not always pastebin.com/QtcMk8Q4 –  eicto Nov 9 '12 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 '12 at 10:30
    
cp works, but not mv. –  John Siu Nov 11 '12 at 0:36

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

share|improve this answer
    
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? –  The Chosen One Nov 13 '12 at 13:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.