Linux用户管理
目录
用户的添加与删除:
用户添加
useradd +用户名
:创建用户passwd +用户名
:为用户设置密码
注:
- 如果没有设置密码,密码将为一个未知数,导致无法登录
- 添加用户时,用户的主目录默认存放在
/home
下,文件名与用户名相同。 - 如果要把用户的主目录放在特定的位置:
useradd -d 路径名 用户名
用户删除
userdel +用户名
:删除该用户但保留home目录userdel -r +用户名
:删除该用户及其home目录
踩坑记录:频繁su
导致用户线程占用,无法删除用户
-
问题:
user XX is currently used by process XXX
XX在使用系统线程所以无法删除
-
典型情况:
用root登录,su one
su two
,而后想要删除用户one,又su root
,执行userdel one
。系统报上述错误。 -
原因:
su
的线程访问机制
系统在su root
时,用户one的线程并没有被关闭,出于安全性的考虑,所以无法删除
-
解决方法:清理线程
-
通过
ctrl D
或是exit
将待删除的用户注销,再执行删除。 -
断开链接重连,然后删除。
查询用户信息
id 用户名
:查询用户的idwho am i
:查询登录用户
注:查询的是登陆时的用户,而非当前使用的用户
用户组
介绍
- 将用户分组,方便对有共性/权限的多个用户进行同一的管理
- 创建用户未指定组时默认自成一组
命令
groupadd 组名
:创建组groupdel 组名
:删除组useradd -g 组名 用户名
:在创建用户的同时将其加入组usermod -g 组名 用户名
:修改用户的组
演示:创建wudang组,并把zwj用户移入wudang
用户和组相关文件
/etc/passwd文件
- 用户的配置文件,用来记录用户的各种信息
- 每行的含义:用户名:口令:用户标号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow文件
- 口令的配置文件
- 每行的含义:登录名:加密口令:最后一次的修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件
- 组的配置文件,记录Linux包含组的信息
- 每行含义:组名:口令:组标识号:组内用户列表