一、先用ll命令看看linux下的每个目录的详情:
每个目录或者文件详情最左端都会有10个字母,我们将10个字母划分为如上图的4个小块来看:
上图1:即左数第一个字母,表示该文件性质,-表示文件 d表示目录 l表示软链接 等
上图的2、3、4都是文件目录权限的表示:2、3、4分别都是rwx的顺序排列。2表示该文件的所属者拥有的权限 3表示该文件所属者的所属组的权限 4表示该文件其它用户的操作权限. r表示读 w表示写 x表示执行 -表示没有对应的权限。
上图5:文件目录的所属者
上图6:文件目录的所属组
后面依次是文件的大小、最后修改日期、文件名等。
二、文件目录权限管理
简单理解linux文件、目录权限管理:
权限管理命令名称:chmod
命令英文原意: change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户 (文件目录权限修改只有root和所属者可以更改)
语法:
1、chmod [{ugoa}{+-=}{rwx}] [文件或者目录名]
2、chmod [权限值] [文件或者目录名] -- 实际中经常用,需要做到rwx和对应数字之间的转换
1和2语法均可以在chmod后加 -R 表示递归修改权限。例:chmod -R [mode=421] [文件或者目录名]
语法1参数详解:
ugoa:
u-文件或者目录所属者 g-文件或者目录所属组 o-其它用户 a-所有者(包括ugo)
+-=:
+ 表示对所修改文件或者目录追加ugoa角色之一或者多个追加权限
- 表示对所修改文件或者目录取消ugoa角色之一或者多个权限
= 表示对所修改文件或者目录赋予ugoa角色之一或者多个赋予权限
rwx:
file:r 可以使用cat、more、head、less、tail等读命令
w 可以使用 vim、vi等编辑命令
x 可以对script、command等使用执行命令
directory:
r 可以使用ls、ll等查看命令
w 可以使用touch、mkdir、rmdir、mv 、rm等创建移动删除等命令
x 可以使用cd命令
语法1示例:
chmod u+x /temp 对根目录下的temp文件夹追加x执行命令
chmod u+x,g+w,g+x,o+r,o+w,o+x /temp 对根目录下的temp目录为所属者加X权限 为所属组追加wx权限 为其它用户追加 rwx权限 (同时对不同类型用户追加多个权限,中间用","分割开)
chmod a=rwx /temp 对根目录下的temp目录赋予所有人(ugo)读写执行权限 (注:=不管以前不同角色用户有什么鸟权限,将全部赋予等号后面的权限)
chmod u-x,g-w,o-w /temp 对根目录下的temp目录 对所属者取消x权限 对所属组取消w权限 其它用户取消w权限
chmod a-x /temp 对根目录下的temp目录取消所有人(ugo)的执行权限
语法2参数详解:
r的权限值:4 w的权限值:2 x的权限值:1 此三个值任意组合值范围都在0-7之间 0: 不给任何权限 1: x 2: w 3: wx 4: r 5: rx 6: rw 7: rwx
强烈建议都使用三位0-7之间的整数数字:如:777 、 765 542 等。赋予权限时,系统将会从右向左取权限值给对应的角色赋予权限。
语法2示例:
chmod 777 /temp 对根目录下的temp目录 给三种角色赋予所有权限
chmod 653 /temp 对根目录下的temp目录 给所属者rw权限 给所属组rx权限 给其它用户wx权限
chmod 760 /temp 对根目录下的temp目录 给所有者rwx权限 给所属组rw权限 给其它用户取消所有权限
最后示例:chmod -R 777 /temp 对/temp目录下的所有文件目录赋予各角色所有rwx权限 (linux区分大小写,不能将R写成r)
注:对某个文件目录是否有删除权限是看该角色是否对该文件目录所在的目录是否有w权限。而不是看该角色是否有对这个文件目录本身有w权限。