Linux用户组和权限管理
Linux用户组和权限管理
用户及相关命令
Linux中的用户分为普通用户和root用户,而普通用户又分成了登录用户与系统用户,对应的用户有对应的id,用户id统称为UID,用户组ID统称为GID。
useradd命令
命令名 | 作用 |
---|---|
useradd | 创建用户 |
useradd-u | 指定基本组ID (组事先要存在) |
-G +groupname | 指定附加组 |
-c | 指定注释信息 |
-d | 指定家目录 |
-s | 指定shell |
-r | 创建系统用户 |
usermod命令
命令名 | 作用 |
---|---|
usermod | 修改用户 |
-l username | 修改用户名 |
-G | 修改附加组 覆盖 配合-a使用 |
-L | 锁定用户密码 |
-U | 解锁用户密码 |
userdel命令
命令名 | 作用 |
---|---|
userdel | 删除用户 |
userdel-r | 删除用户时连带家目录一起删除 |
passwd命令
命令名 | 作用 |
---|---|
passwd | 修改用户自己的密码 |
userdel+username | 修改指定用户的密码,仅root用户有此权限 |
passwd-l,-u | 锁定和解锁用户 |
passwd-d | 清理用户密码串 |
passwd-e | 过期期限,日期 |
passwd-n | 密码的最短使用权限 |
passwd-x | 密码的最长使用权限 |
passwd-w | 警告期限 |
用户组及相关命令
在整个网络中,各个访问网络的用户的权限可能是各不相同的,可以将具有相同权限的用户划为一组
命令名 | 作用 |
---|---|
groupadd group_name | 添加组 |
gruopadd-g | GID:指定GID |
groupadd-r | 创建系统组 |
命令名 | 作用 |
---|---|
groupmod | 修改组 |
gruopmod-g | GID 修改组ID |
groupadd-n name | 修改组名 |
groupdel 删除组
权限管理及命令
权限分为三个对象(owner)属主(gruop)属组(other)其他,相应的权限类型分为RWX
用法
chmod u=rwx,g=rw,0=rw filename
chmod u+w,g-w,0-rw filename
chmod a+,a- filename
chmod 755 filename
-R:递归修改
chown 可以修改属主和属组
chown owner:group filename
chown owner filename
chown :group filename
chgrp 可以修改属组
进程对文件访问的安全模型
进程的属主与文件的属主是否相同,如果相同,则使用属主权限,否则,检查进程的属主与文件的属组是否相同,如果相同,则应用属组的权限,否则,使用other权限
基本权限ACL
1、针对用户设置:
2、针对用户组设置
3、子文件继承父目录的权限
命令 setfacl:
-m:配置acl权限
-x:删除acl权限
-b:移除所有acl权限
-k:移除默认的acl权限
-R:递归配置acl
-d:配置“默认acl权限”,只对目录有效,再目录下新建的目录或者文件继承默认acl权限
特殊权限
SUID:出现在文件是所有者的执行权限位 ssS:
1、仅对二进制程序文件有效
2、执行者对于该程序具有x的可执行权限
3、本权限仅在执行程序的过程中有效
4、执行者将具有该程序拥有者的权限
SGID:出现在文件的所属组的执行权限位 s
1、二进制程序有效
2、执行者对于该程序具有x的可执行权限
3、SGID权限作用于目录上
SBIT:出现在文件的other位 T
1、作用于目录
2、当用户在该目录下去创建文件或者目录时,仅仅自己和root有权限删除
隐藏属性
lsattr 查看隐藏属性
chattr 修改隐藏属性
A:文件的access time不能被修改
a:append只能向文件添加数据,不能删除数据
i:文件不能被删除,改名,设定链接关系,同时不能写入或者新增内容