2.14 文件和目录权限chmod
1. ls -l 查看文件和目录权限
rwx 三个参数的组合。其中 r 代表可读, w 代表可写, x 代表可执行。总共9位,前三位为所有者(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)
的权限.在 Linux 中为了方便更改这些权限,可以使用数字去代替 rwx, 具体规则为 r 等于 4, w 等于 2, x 等于 1, -等于 0。举个例子: -rwxrwx--- 用数字表示就是 770,具体是这样来的:rwx=4+2+1=7; rwx=4+2+1=7; ---=0+0+0=0。
2. chmod (change mode)更改文件和目录权限,语法: chmod [-R] xyz 文件名(这里的 xyz,表示数字)
2.1 chmod -R 命令,-R表示级联更改目录下 所有的文件和目录权限。
3.chmod 还支持使用 rwx 的方式来设置权限。从之前的介绍中我们可以发现,基本上就九个属性分别是(1)user, (2)group, (3)others,我们可以使用 u,g,o 来代表它们三个的属性,此外, a 则代表 all 即三个组权限。
2.15 更改所有者和所属组chown
1. chown (change owner)命令更改文件或目录的所有者或所属组
语法: chown [ -R ] 账户名 文件名 或 chown [ -R ] 账户名:组名 文件名
这里的-R 选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件所有者或所属组全部更改。
2.更改zmc目录的所有者命令:chown cfk zmc
2.1级联更改zmc目录和目录里的文件和目录的所有者命令:chown -R zmc
3.更改zmc目录的所有者和所属组命令:chown cfk:pme zmc
[root@cfk ~]# chown cfk:pme zmc
[root@cfk ~]# ls -ld zmc
drwxrw-rw-. 3 cfk pme 32 3月 27 22:20 zmc
3.1级联更改zmc目录的所有都和所属组命令:chwon -R cfk:pme zmc
3.2只更改zmc目录的所属组命令:chown :pme zmc (只更改所属组就冒号前空格,级联更改加-R)
[root@cfk ~]# ls -ld zmc
drwxrw-rw-. 3 cfk pme 32 3月 27 22:20 zmc
[root@cfk ~]# chown :root zmc
[root@cfk ~]# ls -ld zmc
drwxrw-rw-. 3 cfk root 32 3月 27 22:20 zmc
4.更改所属组还有个命令: chgrp 语法: chgrp [组名] [文件名] (创建新组 groupadd 组名)
[root@cfk ~]# ls -ld zmc
drwxrw-rw-. 3 cfk root 32 3月 27 22:20 zmc
[root@cfk ~]# chgrp pme zmc
[root@cfk ~]# !ls
ls -ld zmc
drwxrw-rw-. 3 cfk pme 32 3月 27 22:20 zmc
2.16 umask
系统的安全机制:umask (过滤码)
1.使用umask命令查看当前用户的值,以下root用户的umask为0022(第一个0忽略)
2.umask值决定了新建的文件和目录的默认权限,文件默认权限644,目录默认权限755
文件默认权限计算:666(rw-rw-rw-)减0022(--- -w- -w-)=rw- r-- r-- (644要通过权限相减才是正确的
不能单纯用数值相减)
目录默认权限计算:777(rwxrwxrwx)减0022(--- -w- -w-)=rwx r-x r-x(755也是要通过权限相减才是正确的)
3.umask值是可以更改的,命令 umask 0002 (umask的设置是不具有持久性的。重登陆之后则失效
使用umask命令设置的命令是只对当前用户的当期shell有效)
2.17 隐藏权限lsattr-chattr
1.chattr 命令 设置隐藏权限
2.chattr +i 1.txt 加隐藏i的权限 加了i的权限文件不能修改名字不能写,创建时间也不行。
2.1 chattr -i 1.txt 取消i权限就 -i (目录与文件加权限是一样的效果)
2.2 chattr +a 1.txt 只能追加和更改j时间信息不能删除不能改名字不能更改文件内容
2.3 chattr -a 1.txt 去掉文件隐藏a权限
3. lsattr -d 1.txt 查看一个目录文件本身的权限
3.1 lsattr -R 可以查看目录下面的子目录及子目录下的文件权限 不加只能看到一级目录的文件权限
3.2 lsattr -a 是看全部文件权限,包括隐藏的。