Linux用户身份(命令详解与补正)

基于Red Hat Enterprise Linux 7.5


Linux中的root就是存在于所有类UNIX系统中的超级用户,持有最高管理权限,能添加/删除用户、开关机、关闭或开启硬件或者系统服务等,并且root的操作无法被阻挡。

Linux中root为什么叫root,不是因为名字叫root,而是UID为0(在Linux中每一个用户的UID都是唯一的)

UID为0:系统最高管理员用户root。

UID为1~999:系统用户,Linux为了避免某个服务被入侵以至于被提权到整个server,默认服务程序会有独立的系统用户负责运行,将入侵破坏的范围降到最低。

UID为1000~:普通用户,所有UID大于1000的用户都是普通用户,管理员创建的用户UID都是从1000开始。

 

为了方便管理,Linux增加了GID的概念,即将一个区域或者职权的用户加入到一个用户组中,在企业生产环境中能有效管控员工的安全风险问题,避免员工接触到非自身职权内的数据。

Linux创建用户的时候会自动创建一个同名用户组,称为基本用户组;如果以后该用户加入其他用户组,称之为拓展用户组;一个用户只有一个基本用户组,但可以拥有多个拓展用户组

 

常用命令

useradd

用于创建新的用户,useradd [参数] username

参数

-u:后面接的是UID,即“useradd -u 987 username”(意为创建一个UID为987,名字叫username的用户)

-e:后见接的是日期,格式为YYYY-MM-DD,即账号的失效时间,这会写入shadow的第八个栏位

-g:指定一个初始的基本用户组(该用户组必须事先在系统中创建并存在),该组的GID会被放置到/etc/passwd的第四个栏位

-G:指定一个或者多个拓展用户组(该用户组必须事先在系统中创建并存在),这个会修改/etc/group内的相关资料

-U:创建一个和用户同名的组,并将用户添加到组里面

-N:不创建与改用户同名的基本用户组,而是将用户添加到-g指定的用户组里面

-r:创建一个系统用户,这个用户的UID有限制(参考/etc/login.defs)

-s:指定该用户的默认shell解释器

-f:后面接shadow的第七栏位项目,密码过期后,该账户被彻底禁用之前的天数,0表示立即禁用,-1表示永不禁用(密码只会过期但登陆时强制重新设定密码)

-M:强制不要建立该用户家目录(系统账号预设值)

-m:强制建立改用户用户家目录(一般账号预设值)

-d:(不使用系统预设值)指定某个目录成为家目录,必须为绝对路径

 

groupadd

用于创建用户组,groupadd [参数] groupname

参数:

-g:创建的同时给这个group指定GID

-r:创建系统group

 

chage

用于修改账号和密码有效期限,chage [参数] username

参数

-l(小写L):列出该账号的详细密码参数

-d:后面接日期,上一次修改密码的时间,格式为YYYY-MM-DD

-m:后面接天数,两次密码之间间隔的最小天数,即除了root操作的情况下,用户修改自己的密码必须间隔的最短时间(如果设定为3,那么3天内用户无法自行修改密码),如果为0表示任何时间都可以修改

-M:后面接天数,两次密码之间间隔的最大天数

-W:用户密码到期前会接到天数警告

-I(大写i):后面接天数,密码失效日期

-E:后面接日期,账号失效时间,格式为YYYY-MM-DD

 

passwd

用于修改用户密码,过期时间、认证信息等,passwd [参数] username

参数:

-l(小写L):锁定该用户密码,禁止其登陆(root使用su切换到该用户除外)

-u:解除该用户密码锁定,允许登陆

-S:显示改用户密码是否被锁定以及密码的加密算法

-d:删除该用户的密码,即可以用空密码登陆

-e:强制该用户下次登陆时修改密码

-n:接天数,多少天内不可修改密码

-x:接天数,多少天内必须修改密码

-w:警告密码过期时间

-i:接天数,密码失效天数

 

usermod

用户修改用户的属性,usermod [参数] username

参数

-c:填写账户的备注信息

-d、-m:-d和-m参数必须连用,指定用户新的家目录并将原有家目录数据转移至新目录(-d是指定目录,-m是移动文件)

-g:变更所属用户组(该用户组必须事先在系统中创建并存在)

-G:变更拓展用户组(多个组之间用逗号隔开,没有空格)注意:如果该用户本身在一个组里面(假定为group9),但-G后接参数group1,group2,group3......内没有该组,那么该用户就会从该组(group9)里面删除,可以使用-a参数避免这个问题(-a参数是添加,如果不加-a那么就是设定)

-a:将用户添加到拓展用户组中,该参数必须和-G连用,但不是-G的必要参数

-f:密码过期之后,账户被彻底禁用前的天数

-e:后接日期,账户被彻底禁用的时间,格式为YYYY-MM-DD

-L:锁定用户禁止其登陆

-U:解锁用户并允许其登陆

-s:变更默认shell,如果为空即为系统默认登陆shell

-l(小写L):修改用户名

-u:修改该用户的UID

-o:-u的可选参数,-o可以使得-u修改的UID可以是非唯一值(非负值)

 

userdel

用于删除用户,userdel [参数] username

参数

-f:强制删除用户账户,即使该账户目前仍处于登陆状态,将强制删除用户邮箱以及家目录,即使其他用户也在浏览使用该用户的邮箱和家目录;如果/etc/login.defs中的USERGROUP_ENAB为yes,那么如果有与该用户同名的组也一并删除,即使是其他用户的基本组。该参数危险性极高,甚至可能将破坏系统稳定性

-r:用户家目录中的文件将随着用户家目录和用户邮箱一起删除,其他位置的文件需要手动搜索并删除,该账户的邮箱在login.defs中的MAIL_DIR中有定义。

posted @ 2018-07-24 02:47  提亚の炼金工坊  阅读(630)  评论(0编辑  收藏  举报