chmod & chown
两种都是关于linux权限的命令。
chmod
chmod
指令是更改文件读写执行权限的。
文件权限可以通过 ls -a
或 ll
来看,在每个文件前有10个字符,第一个是 d
是文件夹,否则为 -
。后面三组 rwx
,分别是读取,写入和执行的权限; 三组分别是用户自己,同组以及其他人的相应 rwx
权限。没有执行权限, 脚本和程序也不能直接跑;没有写权限,就没法生成和保存文件;没有读的权限就连访问都难。一般文件权限是 755
,下面将介绍。
权限有两种表示方式 :
rwx
方式数字方式
r
权限代表1
w
权限代表2
x
权限代表4
无权限代表
0
rwx
权限数字的值累加起来,就是一个用户/组/其余人
的相应权限,例如775
代表用户和组具有rwx
权限,而其他人只有rx
权限没有写权限。
命令格式 : chmod [选项] 权限模式 文件
选项
-c or --changes
: 效果类似”-v”参数,但仅汇报更改的部分-f or --quiet
: 强制执行,不显示错误信息-R or --recursive
: 递归处理,将指令目录下的所有文件及子目录一并处理-v or --verbose
: 显示指令执行过程--reference=<参考文件或目录>
: 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
权限模式
<权限范围>+<权限值>
: 开启权限范围的文件或目录的该选项权限设置<权限范围>-<权限值>
: 关闭权限范围的文件或目录的该选项权限设置<权限范围>=<权限值>
: 指定权限范围的文件或目录的该选项权限设置
权限范围
u
:User
, 即文件或目录的拥有者g
:Group
, 即文件或目录的所属群组o
:Other
, 除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围a
:All
, 即全部的用户,包含拥有者,所属群组以及其他用户
权限值
r
: 读取权限,数字代号为4
w
: 写入权限,数字代号为2
x
: 执行或切换权限,数字代号为1
-
: 不具任何权限,数字代号为0
s
: 特殊功能说明 : 变更文件或目录的权限- 不指明权限范围时默认为
All
所有人
两种设置方式:
权限范围+/-/=权限值
, 例如u+x
就是用户增加执行权限;不同组别设置使用,
分隔,例如u+wx,g+w,o-wx
; 也可以ug+wx
写。o=r
就是只有读权限(r–)
;+x
就是三个组都增加执行权限。- 三个数字模式,例如
755
代表用户具有rwx
,组和其他人有rx
。
1 | chmod u+x,g+w f01 #为文件f01设置自己可以执行,组员可以写入的权限 |
chown
chown指令是更改文件归属的,归属哪个用户,用户组是什么。对应将影响chmod里rwx效果。
用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。-R选项后可以对整个文件夹操作。 只有文件主(改变自己的文件)和超级用户(改变他人的)才可以便用该命令。非root管理员慎用。
命令格式: chown [选项] 用户:组 文件
-c或--changes
: 效果类似 “-v” 参数,但仅汇报更改的部分-f或--quite或--silent
: 强制执行,不显示错误信息-h或--no-dereference
: 只对符号连接的文件作修改,而不更改其他任何相关文件-R或--recursive
: 递归处理,将指定目录下的所有文件及子目录一并处理-v或--version
: 显示指令执行过程--dereference
: 效果和“-h”参数相同--help
: 在线帮助--reference=<参考文件或目录>
: 把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同--version
: 显示版本信息。
记住 用户:组
的写法就可以了。