1、useradd -D //查看系统的默认设置
useradd -r -g sg s1 //将s1用户的默认主组改为sg组
usermod -l 修改账户登录名
-L 锁定账户
-U 解锁账户
-p 修改账户密码
-g sg s1 //表示s1用户的主组为sg
-G sg,sg1 s1 //表示s1用户的附属组为sg,sg1
注意:当用命令改变/etc/passwd中的用户主组时,/etc/group中的组后面不会显示组成员,只有附属成员才有
userdel -r test //-r表示删除test账户及test账户的家目录,不加-r表示不删除家目录
passwd -l 用户 锁定用户,锁定后无法登陆
-u 用户 解锁用户
groupadd sg
groupmod -n sg1 sg //将组名sg改为sg1
gpasswd -d s1 sg //从sg组中删除附属成员s1
gpasswd -a s1 sg //向sg组中添加附属成员s1
2、权限
chmod -R a+x 目录 //加了-R后目录和目录中的文件加执行权限
chown -R s1.sg 目录 //加了-R后对目录和目录中的文件更改所属用户和组
chown .sg 文件 //更改文件的所属组
chown s1 文件 //更改文件的所属用户
chgrp sg s1 //更改文件的所属组
特殊权限:
SUID、SGID、SBIT
SUID:只对二进制程序有效,执行者对于程序需要有x权限,在程序运行过程中,执行者拥有程序拥有者的权限
命令:chmod u+s 文件 //rwsr-xr-x,所属用户需要s权限,如果是大写的S表示没起作用。
SGID:对于二进制文件程序执行着要有x权限,执行者在执行过程中会获得改程序用户组的权限(相当于临时加入了程序的用户组)
对于目录:用户对此目录有rx权限可以进入目录,用户进入此目录后,有效用户组会变成该目录的用户组,若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同
命令:chmod g+s 文件 //rwx--s-x,用户组需要s权限。
SBIT:只针对目录有效,当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。
命令:chmod o+t 目录 //rwx-wx--t,其他人需要t权限。
i:不可修改权限 例:chattr +i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。
a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。
查看文件是否设置了i或a权限用lsattr filename
总结:
设置和查看SUID/SGID/SBIT权限的方法:
SUID是4 SGID是2 SBIT是1
chmod 4755 filename
第一个7代表的就是这三个特殊命令,后面的755是普通权限。上面的命令把filename这个文件加入了SUID权限。
查看特殊权限的方法就是普通的ls命令:
SUID会在所属用户权限本应是x的地方显示s
SGID会在所属用户组权限本应是x的地方显示s
SBIT在其它用户权限本应是x的地方显示t
如果希望查找系统中所有具有特殊权限的文件,则:
find / -perm +7000
linux用户与组
最新推荐文章于 2023-10-17 14:25:11 发布