文件类型在前面章节讲到,有:d,-,l,c,s,b等。 补充:
# ls -l /etc/
总用量 1088
-rw-r--r--. 1 root root 16 5月 22 01:29 adjtime
-rw-r--r--. 1 root root 1518 6月 7 2013 aliases
-rw-r--r--. 1 root root 12288 5月 22 01:38 aliases.db "."表示该文件受SELinux控制(SELinux防火墙未完全关闭时显示)
[root@adai002 ~]# mkdir test
[root@adai002 ~]# touch ./test/test2
[root@adai002 ~]# ls -ld test
drwxr-xr-x 2 root root 19 6月 6 21:22 test
[root@adai002 ~]# ls -l test
总用量 0
-rw-r--r-- 1 root root 0 6月 6 21:22 test2
[root@adai002 ~]# chmod 750 test 更改test的权限为750
[root@adai002 ~]# ls -ld test
drwxr-x--- 2 root root 19 6月 6 21:22 test
[root@adai002 ~]# ls -l test/test2 查看test2的权限,未发生改变
-rw-r--r-- 1 root root 0 6月 6 21:22 test/test2
[root@adai002 ~]# chmod 755 test/test2 更改test2 的权限为755
[root@adai002 ~]# ls -l test/test2
-rwxr-xr-x 1 root root 0 6月 6 21:22 test/test2
[root@adai002 ~]# chmod -R 700 test 级联更改test、test2的权限为700
[root@adai002 ~]# ls -ld test
drwx------ 2 root root 19 6月 6 21:22 test
[root@adai002 ~]# ls -l !$
ls -l test
总用量 0
-rwx------ 1 root root 0 6月 6 21:22 test2
!!! test和test2的权限均改为700
eg2:
[root@adai002 ~]# ls -ld test
drwx------ 2 root root 19 6月 6 21:22 test
[root@adai002 ~]# ls -l test
总用量 0
-rwx------ 1 root root 0 6月 6 21:22 test2
[root@adai002 ~]# chmod u=rwx,g=rx,o=rw test 更改test的所有者权限u=rwx,所属组权限g=rx,其他非群组权限o=rw
[root@adai002 ~]# ls -ld test
drwxr-xrw- 2 root root 19 6月 6 21:22 test
[root@adai002 ~]# chmod a+x test/test2 更改test2所有权限(包含u,g,o)增加x权限(此处a=all)
[root@adai002 ~]# ls -l test
总用量 0
-rwx--x--x 1 root root 0 6月 6 21:22 test2
[root@adai001 tmp]# ls -l
总用量 0
drwxr-xr-x 2 root root 22 6月 7 07:23 adai001
drwx------ 3 root root 17 6月 7 07:16 systemd-private-bd8a94da330a4bc1984e8c95d8651460-vmtoolsd.service-ewuptl
[root@adai001 tmp]# ls -l adai001
总用量 0
-rw-r--r-- 1 root root 0 6月 7 07:21 adai.txt
[root@adai001 tmp]# chown adai adai001/adai.txt 更改所有者(user)
[root@adai001 tmp]# ls -l adai001
总用量 0
-rw-r--r-- 1 adai root 0 6月 7 07:21 adai.txt
[root@adai001 tmp]# chown :user1 adai001/adai.txt 更改所属组(group)
[root@adai001 tmp]# ls -l adai001
总用量 0
-rw-r--r-- 1 adai user1 0 6月 7 07:21 adai.txt
[root@adai001 tmp]# chown root:root adai001/adai.txt 同时更改所有者(user)和所属组(group),该命令还可以写成‘chown root.root adai001/adai.txt’
[root@adai001 tmp]# ls -l adai001
总用量 0
-rw-r--r-- 1 root root 0 6月 7 07:21 adai.txt
语法: chgrp [-R] [组名] filename (-R表示级联更改,只针对目录文件)
eg1: 更改文件的所属组
[root@adai001 ~]# groupadd testgroup 添加组testgroup
[root@adai001 ~]# touch test1 创建文件test1
[root@adai001 ~]# ls -l test1
-rw-r--r-- 1 root root 0 6月 7 10:39 test1
[root@adai001 ~]# chgrp testgroup test1 更改文件test1的所属组为testgroup
[root@adai001 ~]# ls -l test1
-rw-r--r-- 1 root testgroup 0 6月 7 10:39 test1
eg2: 更改目录的所属组
[root@adai001 ~]# ls -l dirb/
总用量 0
drwxr-xr-x 2 root root 6 6月 7 10:51 adai
drwxr-xr-x 2 root root 6 6月 7 10:50 dirc
[root@adai001 ~]# ls -ld !$
ls -ld dirb/
drwxr-xr-x 4 root root 30 6月 7 10:51 dirb/
[root@adai001 ~]# chgrp testgroup dirb/ 更改目录dirb的所属组为testgroup
[root@adai001 ~]# ls -ld !$
ls -ld dirb/
drwxr-xr-x 4 root testgroup 30 6月 7 10:51 dirb/
[root@adai001 ~]# ls -l !$
ls -l dirb/
总用量 0
drwxr-xr-x 2 root root 6 6月 7 10:51 adai
drwxr-xr-x 2 root root 6 6月 7 10:50 dirc
[root@adai001 ~]# chgrp -R testgroup dirb/ 级联更改目录的所属组(目录下内容的所属组同时跟着改变)
[root@adai001 ~]# ls -l !$
ls -l dirb/
总用量 0
drwxr-xr-x 2 root testgroup 6 6月 7 10:51 adai
drwxr-xr-x 2 root testgroup 6 6月 7 10:50 dirc
注: 因为chown命令可以替代chgrp命令,所以chgrp命令使用的并不多。
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限"补码",而chmod设置的是文件权限码。umask的默认值可以更改,但是只有在$[HOME]/.bashrc下增加umask值才可以永久定义自己的umask值,否则只是临时更改。 语法: umask xxx (此处xxx代表三个数字)
[root@adai002 ~]# umask 查看umask值
0022 即:umask的预设是0022
[root@adai002 ~]# umask 020 预设umask值为020
[root@adai002 ~]# umask
0020
[root@adai002 ~]# umask 022
[root@adai002 ~]# umask
0022
注: 默认状态下,文件umask+chmod=666;目录umask+chmod=777(限于权限位加减法)。
只有超级权限的用户才具有使用该命令的权限,这项指令可改变存放在ext2、ext3、ext4、xfs、ubifs、reiserfs、jfs等文件系统上的文件或目录属性。
(adsbygoogle = window.adsbygoogle || []).push({});