如何自动更改复制到目录的文件的权限?


Answers:


2

你可以用umask它。找出模式这样做:

  7777
-umask
=新权限

例如(linux):

 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

我认为umask仅适用于新创建的,而不是复制的文件
The Chosen One

复制的文件是新的。
ЯрославРахматуллин11年

@ЯрославРахматуллин并不总是pastebin.com/QtcMk8Q4
zb'

好的,如果复制的文件不是新的,那么它们是什么?...正如我所示,umask 用于影响cp所做的文件。也许某些版本的cp不支持这一点,但是rsync可能(尚未检查)在这些系统上用于执行相同的操作。无论如何,这不是问题的答案,答案是不正确的。
ЯрославРахматуллин11年

cp有效,但不是mv
约翰萧

1

我不相信可以使用标准的unix权限在逐个目录的基础上执行此操作。但是,ACL可以做到这一点。


我编辑了/ etc / fstab并在包含文件夹X和Y的分区上添加了acl属性。我应该使用什么setfacl命令来解决我的问题?
选定的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.