Linux授权命令

(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授权命令_第1张图片 

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

 

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

Linux授权命令_第2张图片 

文件目录权限总结:

代表字符

权限

对文件的含义

对目录的含义

r

读权限

可查看文件内容

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

w

写权限

可修改文件内容

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

x

执行权限

可执行文件

可进入目录(如cd)

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

(2)chown

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

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

 

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

 

(3)chgrp

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

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

(4)umask

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

[root@localhost ~]# umask 0022 

直接输入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. 2 root root 4096 1月 8 00:32 /tmp/test

[root@localhost ~]#
复制代码

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

复制代码
[root@localhost ~]# touch /tmp/test1.txt

[root@localhost ~]# ls -l /tmp/test1.txt -rw-r--r--. 1 root root 0 1月 8 00:34 /tmp/test1.txt

[root@localhost ~]#
复制代码

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

复制代码
[root@localhost ~]# umask 023 [root@localhost ~]# mkdir /tmp/test2

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

drwxr-xr--. 2 root root 4096 1月 8 00:40 /tmp/test2

[root@localhost ~]#
复制代码

你可能感兴趣的:(Linux授权命令)