(1)chmod

chmod命令用于改变文件或目录权限,英文原意为change the permissions mode of a file,所在路径为/bin/chmod,其语法格式为:

chmod [{ugoa}{+-=}{rwx}] [文件或目录]或chmod [mode=421] [文件或目录]

其中a表示所有的u、g、o的权限都将修改。如果加上-R选项,表示递归修改权限。权限的数字表示分别为:r对应着4,w对应着2,x对应着1,因此,rwxrw-r—对应的数字权限为764。注意:只有root和所有者可以改变该文件或目录的权限!

在/tmp目录创建一个test.txt文件,并将其权限修改为所有者(u)去掉写权限,用户组(g)和其他人(o)加上写权限,且三者均具有执行权限。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

使用数字命令将所有者权限改为可读可写,将用户组和其他人的权限改为仅可读。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

在/tmp目录下创建目录a,并在a的目录下创建目录b,然后使用-R选项递归修改a与b的权限。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

文件目录权限总结:

代表字符

权限

对文件的含义

对目录的含义

r

读权限

可查看文件内容

可列出目录中的内容(如ls)

w

写权限

可修改文件内容

可在目录中创建、删除文件(如touch,rm)

x

执行权限

可执行文件

可进入目录(如cd)

注意:删除一个文件的前提是用户需对该文件所在目录具有写权限,而不是对该文件具有写权限!!!

(2)chown

chown命令用于改变文件或目录的所有者,英文原意为change file ownership,所在路径为/bin/chown,其语法格式为:chown [用户] [文件或目录],注意只有管理员才能更改文件所属用户。

创建一个用户ws,以该用户进行登录并在/tmp目录下创建一个文件test.txt。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

然后在以root身份进行修改该文件的所属用户。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

(3)chgrp

chgrp命令用于改变文件或目录的所属组,英文原意为change file group ownership,所在路径为/bin/chgrp,其语法格式为:chgrp [用户组] [文件或目录]

同样在root用户下将test.txt的所属组改为root。

Linux学习笔记(4)Linux常用命令之权限管理命令-LMLPHP

(4)umask

umask命令用于显示、设置文件的缺省权限,英文原意为the user file-creation mask,umask命令属于Shell的内置命令,其语法格式为:umask [-S],其中-s选项表示以rwx形式显示新建文件缺省权限。

[root@localhost ~]# umask

直接输入umask命令得出的是权限掩码,其中第一个"0"表示特殊权限,后面的"022"分别对应所有者、所属组、其他人的权限,掩码对应的真正权限为:777-022=755。

在/tmp下新建一个目录test,查看其权限即为对应的默认的缺省权限。

[root@localhost ~]# umask -S

u=rwx,g=rx,o=rx

[root@localhost ~]# mkdir /tmp/test

[root@localhost ~]# ls -ld /tmp/test

drwxr-xr-x.  root root  1月    : /tmp/test

[root@localhost ~]#

而新建一个文件时,出于安全的角度,默认是不具备执行权限的。例如在tmp目录下新建一个test1.txt文件,其对应的默认权限如下:

[root@localhost ~]# touch /tmp/test1.txt

[root@localhost ~]# ls -l /tmp/test1.txt

-rw-r--r--.  root root  1月    : /tmp/test1.txt

[root@localhost ~]#

如将默认的权限为rwxr-xr--,首先计算相应的掩码:777-754=023,然后利用umask修改即可。则相应的命令如下:

[root@localhost ~]# umask

[root@localhost ~]# mkdir /tmp/test2

[root@localhost ~]# ls -ld /tmp/test2

drwxr-xr--.  root root  1月    : /tmp/test2

[root@localhost ~]# 
04-16 08:20