命令原型:
chmod [-cfvR] [--help] [--version] mode file/folder
中括号里的选项可以省略,其他的不能省略
-c :若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更
mode格式:[ugoa...][[+-=][rwxX]...],[...] 或者 zzz
[ugoa...][[+-=][rwxX]...],[...]
u -- user(所有者),g -- group(群组),o -- other(其他用户), a -- all(所有用户)
+ -- 增加权限, - -- 取消权限, = -- 唯一设定权限
r -- readable(可读), w -- writable(可写), x -- executable(可执行), X -- 小编未知
zzz
z是一个整数,取0~7,可以3位二进制整数表示(000 ~ 111),每一位和 rwx 权限对应,0表示没有该权限,1表示有
第一个z代表u的权限,第二个代表g的权限,第三个代表o的权限
例如:如果zzz取 755,表示成二进制就是 111 101 101,意味着u有rwx权限,g有rx权限,o有rx权限
file/folder表示文件的名字或文件夹的名字
示例
将file1.txt设为所有人可读
chmod ugo+r file1.txt 或 chmod a+r file1.txt
将file1.txt设为所有人只可读
chmod ugo=r file1.txt 或 chmod a=r file1.txt 或 chmod 444 file1.txt
将当前目录下的文件、子目录及其文件设为所有人可读写执行
chmod -R a=rwx * 或 chmod -R 777 * (-R表示对当前目录下的文件和子目录进行相同权限变更, *表示当前目录)
附录:文件及文件夹权限查看命令
ls -l file.txt 查看文件file.txt的属性
ls -ld folder 查看文件夹folder的属性
ls folder 查看文件夹folder下的文件及文件夹
ls -l folder 查看文件夹folder下所有文件及文件夹的属性