Linux学习笔记-权限类命令
1.5.1.chmod
英文原意:change the permissions mode of a file
可以修改文件权限的用户:所有者,root
语法:
chomod [{ugoa} {+-=} {rwx}] [文件或目录]
[mode=421] [文件或目录]
-R 递归修改
u:User
g:group
o:other
a:all
+:加权限
-:减权限
=:删除之前所有权限,赋值为现在的权限
User增加执行权限
[root@localhost cn]# chmod u+x yum.log
[root@localhost cn]# ll
total 4
-rwx------. 1 root root 27 Apr 23 21:58 yum.log
User去掉执行权限,group增加读写执行,other增加执行权限
多个操作以逗号分隔
[root@localhost cn]# chmod u-x,g+rwx,o+x yum.log
[root@localhost cn]# ll
total 4
-rw-rwx--x. 1 root root 27 Apr 23 21:58 yum.log
如果需要修改某个目录,及目录所下所有的资源的权限,需要使用-R参数
chomd –R /tmp
|
| 文件 | 目录 |
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建,删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
用root创建一个目录test,有rwxrwxrwx权限,如果test目录下创建一个文件log.log,有-rw-r--r--.权限。
用普通用户登录,是否可以删除log.log文件?
[root@localhost cn]# ll
total 4
drwxrwxrwx. 2 root root 21 Apr 24 20:44 test
-rw-rwx--x. 1 root root 27 Apr 23 21:58 yum.log
[root@localhost cn]# ll test/
total 0
-rw-r--r--. 1 root root 0 Apr 24 20:44 log.log
[root@localhost cn]#
答案是可以删除的,因为普通用户对test目录有w权限
1.6.其他权限命令
1.6.1.chown
英文原意:change file ownership
语法:
chown [用户] [文件或目录]
能更改文件的所有者的用户:root
1.6.2.chgrp
change file group ownership
chgrp [用户组] [文件或目录]
改变文件或目录的所属组
1.6.3.umask
创建文件时,权限默认信息:
谁创建了文件,谁就是文件的所有者,他的所属组就是文件的所有者缺省的所属组
the user file-creation mask
显示、设置文件的缺省权限
-S 以rwx形式显示新建文件缺省权限
[root@localhost cn]# umask -S
u=rwx,g=rx,o=rx
Linux系统中新建的文件的执行权限都会去掉,即使umask配置的有执行权限
[root@localhost cn]# ll
total 4
drwxrwxrwx. 2 root root 21 Apr 24 20:44 test
-rw-rwx--x. 1 root root 27 Apr 23 21:58 yum.log
[root@localhost cn]# umask -S
u=rwx,g=rx,o=rx
[root@localhost cn]# mkdir test1
[root@localhost cn]# touch test2.log
[root@localhost cn]# ll
total 4
drwxrwxrwx. 2 root root 21 Apr 24 20:44 test
drwxr-xr-x. 2 root root 6 Apr 24 21:10 test1
-rw-r--r--. 1 root root 0 Apr 24 21:10 test2.log
-rw-rwx--x. 1 root root 27 Apr 23 21:58 yum.log
[root@localhost cn]#
老版本Linux系统中可能不支持-S参数
[root@localhost cn]# umask
0022
0:特殊权限
0:user
2:group
2:other
这个叫权限掩码
777-022=755
对应的值是:rwxr-xr-x
如果将默认权限修改为:rwxr-xr—
其对应754
777-754=023
执行命令:umask 023即可以了
[root@localhost cn]# umask
0022
[root@localhost cn]# umask 023
[root@localhost cn]# mkdir test3
[root@localhost cn]# ll -d test3/
drwxr-xr--. 2 root root 6 Apr 24 21:17 test3/