Shell命令——权限管理

权限管理

权限包括读(r)、写(w)、执行(x)三种。

特殊权限有setuid(4000)、setgid(2000)、sticky(1000)。

setuid(u+s,-rwsr-xr-x):对可执行文件,用户执行时自动获得所有者的权限。常用于超级用户所有的某些文件。

setgid(g+s,drwxrwsr-x):对于目录?,用户执行时自动获得用户组的权限。通常用于设置共享目录。

sticky(+t,drwxrwxrwt):忽略文件的sticky,对目录的sticky将阻止普通用户删除或重命名文件,除非该用户是目录所有者、文件所有者或超级用户。

id:显示用户身份标识,包括uid、gid、groups

passwd:更改用户密码

chmod:更改文件模式

chown:更改文件所有者和用户组

chgrp:更改文件所属群组,等价于chown更改用户组的功能

umask:查询和设置创建文件的默认权限。四位数字,如0026表示关闭用户组的写权限(2)和所有用户的读写权限(6),注意系统默认权限为666。

su:以另一个用户身份运行shell

sudo:以另一个用户身份执行命令

chmod

可以使用八进制数字表示法或者符号表示法更改权限。

八进制数字表示法

  4 - r, 2 - w, 1 - x

符号表示法

  用户类型:u - 所有者,g - 用户组,o - 其他,a - all

  权限类型:r - 读, w - 写, x - 执行

  修改权限方式:增加权限(+),减少权限(-),指定权限(=),指定多组权限时用逗号分隔。如u+rw, go=r

su

su -l [user] -c ‘command’

没有指定用户时,默认是root用户。切换用户时需要输入指定用户的密码。

-l(可简写为-):在当前shell中加载指定用户的运行环境,并切换主目录。

-c ‘command’:使用新用户指定命令。注意用单引号阻止命令在当前shell扩展。

sudo

通过可配置的方式,普通用户可以使用另一用户(通常是root)执行命令。执行时输入当前用户的密码。

chown

chown [ower][:[group]] file …

第一个参数的不同格式有不同含义:

bob - 更改所有者

bob:users - 更改所有者和用户组

:admins - 只更改用户组

bob: - 更改所有者,用户组为bob登录时的用户组

你可能感兴趣的:(shell)