1 用户管理
创建用户
useradd 选项 用户名
选项:
-
-c comment:指定一段注释行描述
-
-d 目录: 指定用户主目录,如果此目录不存在,则同时使用-m选项 ,创建主目录
-
-g 用户组 :指定用户所属的用户组
-
-s Shell文件:指定用户的登陆Shell
用户名:指定新账号的登录名。
实例:
useradd -d /app username # 如果用户目录不存在,则使用-m参数来创建主目录
查询用户
命令 | 说明 |
---|---|
whoami | 显示当前登陆用户名 |
id 用户名 | 显示用户信息,包括用户编号、用户名、组编号、组名 |
groups 用户名 | 显示该用户所属组 |
finger 用户名 | 显示用户详细信息 |
可以使用如下命令查看所有的用户
vi /etc/passwd # 查看所有的用户
删除用户
userdel 选项 用户名
常用的选项是 -r ,它的作用是把用户的主目录一起删除
实例:
userdel -r guest
修改用户
修改用户就是修改用户有关的属性,包括用户好、主目录、用户组、登陆Shell等
修改命令如下:
usermod 选项 用户名 # 常用的选项同useradd一致。
usermod -s /bin/bash common #更改common用户的shell,否则普通用户登陆没有用户名只有$
密码管理
passwd 选项 用户名
可使用的选项:
-
-l 锁定口令,即禁用账号
-
-d 使账号无口令
-
-f 强迫用户下次登陆时修改口令
查看用户主目录
是用户在登录系统后默认进入的目录,并且用户的主目录权限归该用户所有
echo $HOME # 查看用户主目录
2 用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
创建用户组
groupadd 选项 用户组
可以使用的选项有:
-
-g GID:指定新用户组的组标识号
-
-o 一般与-g选项同时使用,表示新用户组的GID可以与已有的用户组的GID相同。
实例:
groupadd group1
3 用户切换
用户角色划分
在linux系统中,用户是分角色的。用户角色通过UID和GID识别。
大致分为三种:超级用户,普通用户,虚拟用户
超级用户:默认是root用户,其UID和GID都是0.拥有最高的管理权限。
普通用户:系统中大多数用户都是普通用户,实际中也使用普通用户操作,需要权限使用sudo命令提升权限。
虚拟用户:与真实的用户区别开来,这类用户是安装系统后默认存在的,且默认情况是不能登陆系统,其在/etc/passwd文件中,最后字段为/sbin/nologin。但是,他们是系统正常运行不可缺少的,他们的主要是方便系统管理,满足相应的系统进程对文件属主的要求。如,默认的bin,adm,nobody,mail用户等。服务的运行需要用户角色,可以不用登陆,例如当我们需要运行MySQL数据库时,可以创建一个虚拟用户,作为运行MySQL服务的角色。
用户切换
su 用户名 #切换用户身份
如果不带参数,则为切换到root身份,除了root用户,其他用户切换身份操作都需要输入密码。使用完成后执行exit切换回来即可。
4 用户相关的系统文件
/etc/passwd #该文件记录了所有的用户,每一行对应一个用户,每行记录被(:)分隔为7个字段,具体含义如下
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/group #该文件记录了所有的组,每一行对应一个用户,每行记录被(:)分隔为4个字段,具体含义如下
组名:口令:组标识号:组内用户列表
/etc/shadow #该文件记录所有用户的密码