跳转至

用户操作

  • 切换用户
# 将身份切换为其他用户
su - [username]  # 非root用户切换时需要输入对方密码,使用exit可以退回原来的用户
<<"COMMENT"
不加username默认切换到root用户
带 - 表示完全切换,即当前路径切换为对方家目录,否则还会留在当前用户的家目录
如果切换失败可以试试:sudo bash
COMMENT

# 以其他用户的身份执行命令
sudo [-u username] command
<<"COMMENT"
需要其它用户授权给你,才可以使用sudo
    可以用visudo命令(vi只有读取权限)编辑/etc/sudoers文件,给用户添加一行与root相同的权限即可

不带usernamem默认切换root用户
加-s可以保持session
COMMENT

用户相关的很多操作都需要root用户权限

groupadd group1  # 创建用户组
groupdel group1  # 删除用户组

# 创建用户
useradd [-g group_name] username
<<"COMMENT"
-g 指定用户组,否则默认会创建并指定一个与用户同名的用户组
-m 强制建立家目录(一般默认)
-s 指定默认shell
COMMENT

# 删除用户
userdel [-r] username
<<"COMMENT"
防止误删,删除后用户的家目录还会保留在/home中
    -r 连同家目录一起删除
COMMENT

# 修改用户信息
usermod username
<<"COMMENT"
usermod -g group_new username  修改用户组
usermod -d /home/new_path username  修改家目录存放位置
usermod -s /bin/bash username  修改默认shell
COMMENT

# 设置/修改密码
passwd [username]
<<"COMMENT"
密码为空则不需要密码即可登录
root用户可以修改任意用户的密码且不需要输入旧密码
不加username则默认修改当前用户的密码
COMMENT

每个登录的用户都会获得两个ID:UID(User ID) 和 GID(Group ID),root的ID都是0

# 查看某个用户的账号信息,不带用户名默认查看自己
# 用户不存在则返回no such user,可以用来判断用户是否存在
id [username]
# 查看所属用户组
groups
# 查看当前在线用户
who  # 或者 w

用户配置文件

  • /etc/passwd

账号信息存储在/etc/passwd文件中,其中很多都是系统账号(系统运行所必须的),不可随意删除

其中/usr/sbin/nologin表示不允许登陆

密码为x,表示需要密码,如果为空表示不需要密码

20210827231927

  • /etc/shadow

早期密码存在/etc/passwd中,但后来因为安全原因单独存到了:/etc/shadow

20210827233831

最近修改日期:是从1(1970.1.1)开始累计的,多少天内不可修改或需要修改,为0则表示可任意修改,99999为273年,即不限制

usermod -chage username  # 修改失效日期,如果想暂停某个用户登录,可以将失效日期改为0
  • /etc/group

用户组配置文件

给用户发消息

write username  # 给某个在线用户发送消息
wall  # 给所有在线用户发送消息
mesg n/y  # 拒绝或允许接收消息,root用户默认拒绝,普通用户无法拒绝root用户发来的消息
mail -s "test content" [chonge@localhost]  # 发送邮件,也可以给离线用户发,给本机用户可以省略[chonge@localhost],对方可以使用mail命令来接收查看邮件内容

20210828001620

20210828001628