用户组和权限管理**
创建用户及查看修改
-
useradd :创建用户(默认设定配置文件为/etc/login.defs)
-u:指定UID
-g:指定基本组ID,此组得事先存在
-G:指明用户所属的附加组,多个组之间用分号隔开
-c:指明注释信息
-d:以指定的路径为用户的家目录;通过复制/etc/skel/此目录并重命名实现,如果指定的家目录事先存在,则不会为用户复制环境 配置文件
-s:指定用户默认的shell
-r:创建系统用户
-D:显示创建用户的默认配置
-D 选项:修改默认选项的配置
-
usermod:修改用户属性
-G:修改用户所属的附加组(原来的会被覆盖)
-aG:追加新的附加组(不会被覆盖)
-d:修改用户的家目录,原有文件不会被转移至新位置
-md:将原有的家目录移动为新的家目录
-l:修改用户名
-L:锁定用户密码
-U:解锁用户密码
-
userdel:删除用户
-r:一并删除家目录
-
id 用户名:查看当前登录的用户信息
-
cat /etc/passwd:查看所有用户
-
su 用户名:切换用户,不会改变环境变量
-
su - 用户名:会切换用户,也会改变环境变量
创建组及修改
-
groupadd:添加组
-
groupmod:修改组属性
-g GID:修改GID
-n 新名称:修改组名
-
groupdel:删除组
passwd:修改用户自己的密码
passwd 用户名:修改指定用户的密码,仅root权限
gpasswd -a 用户名:向组中添加用户
gpasswd -d 用户名:从组中移除用户
newgrp:临时切换指定的组为基本组
chage:更改用户密码过期信息
id -n:显示名字
权限
权限基础理论:
1、对文件而言
权限 | 说明 |
---|---|
r | 可获取文件的数据(cat) |
w | 可修改文件数据(vi) |
x | 可以将此文件运行为进程 |
#文件权限判断逻辑
判断用户对文件的权限:
前提条件:用户能够成功进入到文件所在的目录,即对操作的文件所在目录有x权限
例:这个test/目录,other即使有w权限(无x权限)不能在test/目录中删除、创建、修改文件
当删除文件或创建文件:看用户是否具备对目录的w权限
无论用户是以属主、属组还是其他身份,均需看用户是否具备对目录的w权限
修改文件:看用户是否具备对修改的文件的w权限
无论用户是以属主、属组还是其他身份,只需看此文件是否有w权限(与目录的权限无关)
2、对目录而言
权限 | 说明 |
---|---|
r | 可以使用ls命令获取其下的所有文件列表 |
w | 可修改此目录下的文件列表;及创建或删除文件 |
x | 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息 |
#判断用户对目录的权限
前提条件:用户能够成功进入到目录所在的目录,及对操作的目录所在的目录有x权限
例:想要删除、创建、修改test/目录下的test/dir/目录,前提条件是对test/目录有x权限
删除目录、创建目录:看用户是否具备对上一级目录的w权限
无论是上一级目录的属主、属组还是其他用户,均需看上一级目录权限中是否有w权限
修改目录(在目录下创建、删除文件):看用户是否具备对修改的目录的w权限
无论是目录的属主、属组还是其他用户,只需看目录权限中是否有w权限(与上一级目录的权限无关)
权限模型
r w x
4 2 1
owner group others
rwx — —
数值组成:****
421=7
42-=6
4–=4
-2-=2
权限管理
修改文件权限使用chmod命令,changemod
1、数字方式修改:
chmod —(3位数字,每一位的值不能超过7,而且这个值是4、2、1任意一种或者多种的组合,1,2,4,1+2,1+4,2+4,1+2+4) 文件名
2、字母方式修改:
chmod ugo(u代表user,g代表group,o代表others,a代表所有,添加或者减除权限使用+/-,结合权限的英文字母缩写read®,write(w),execute(x))
chmod u+r file
chmod g-w file
chmod o+x file
chown:修改用户属主,也可同时修改用户属主和属组
chown 【选项】 【属主】:【属组】 文件名
选项: -R 递归修改
chgrp: 修改用户属组
chgrp 【选项】 【属组】 文件名
-R参数实现递归修改,即目录下的文件也被同时修改
*注:仅管理员可修改文件的属性和属组