指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] mode file...
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u user表示该档案的拥有者,g group表示与该档案的拥有者属于同一个群体(group)者,o other表示其他以外的人,a all表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
用数字表示:一般使用三位,分别代表user,group,other的权限。使用二进制表示当前权限,分别是4(r 读)、2(w 写)、1(x 可执行)。如果要rwx属性则为7,r-x则为5,rw-则为6.
-rwxrwxrwx(777):所有用户均可读写执行
-rwxr--r--(744):只有拥有者可以读写执行,其他的只能读
-r--r--r--(444):所有人只能读
-rwx------(700):只有拥有者才可以读写执行
-rw-rw-rw-(666):所有人只能读写文件
例子:
将file设置为所有人可读取:
chmod a+r file
chomod ugo+r file
chmod 444 file
file1和file2,拥有者和同一个群体可写入,剩余的人不可写入
chmod ug+w,o-w file1 file2
chmod 220 file
将file设定为只有该档案拥有者可以执行
chmod u+x,go-x file
chmod 100 file
将目前目录下的所有档案与子目录皆设为任何人可读取
chmod -R a+r *
chmod 444 *
将file设定成拥有者和同一群体可以读写执行,剩余其他人只可以执行
chmod ug=rwx,o=x file
chmod 771 file
umask是创建文件/文件夹的预设权限,通常来说为0002,一般只用后面三位(即002)。可以进入[HOME]/.bashrc,在末尾加入umask xxxx进行修改。umask是chmod的补码。对于新创建的文件,系统一般不赋予执行权限,因此对文件而言最高权限为6,目录最高权限为7。因此当umask为002时,新创建文件的权限为664,新创建目录权限为775。
cp -rf 只覆盖文件内容,不修改原有文件权限。
比如cp -rf A B ,A的权限为600, B的权限为777,把A复制到B之后,A的内容覆盖B,但权限依旧是777。(2852好像对init.konka.sh会自动加上权限)