linux上经常需要更改文件目录的执行权限,涉及到的有chmod、chown、chgrp命令,下面来看看这三个命令。
修改文件或目录的访问权限: chmod
1.1、linux中文件和目录权限分为: r(可读)、w(可写)、x(可执行)
文件和目录所属者:(u)所有者、g(所属组)、(o)其他人
1.2、执行命令: ls -l 或者直接执行 ll
所以,"drwxr-xr-x" 就表示:这是一个目录文件,所有者可以对此目录读、写、执行,所属组可以对此目录读、执行,无写权限,其他人可以读、执行,无写权限
1.3、linux中为简化权限标识,用数字-->权限,对应 r(读)--4,w(写)--2,x(执行)--1
所以 drwxr-xr-x --->变成 4+2+1 4+2 4+2 -->766(-代表0)
1.4、测试 新建文件目录 mkdir simonsfan
新创建的目录权限是 rwxr-xr-x,接下来给root赋予所有权限 chmod -R 777 /simonsfan 后查看
新建目录和新建文件的默认权限是不一致的,可对比touch命令创建的文件
等效参数介绍
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
示例
chmod -R u+x /sam 修改/sam文件夹的所有者权限为可执行
chmod -R 777 /sam 递归修改/sam文件夹的u/g/o的权限为最高权限
更改文件或目录所属者、所属组: chown
示例: 更改 /ftpfile 的所有者、所属组为ftpuser(-R参数表示递归)
[root@localhost local]# chown -R ftpuser.ftpuser /ftpfile 或者 chown -R ftpuser:ftpuser /ftpfile
ftpuser是新建的用户和组
[root@localhost local]# useradd ftpuser
[root@localhost local]# groupadd ftpuser
修改文件或目录的所属组: chgrp
[root@localhost local]# chgrp -R ftpuser /ftpfile