大纲
用户管理常用命令
常用命令如下:
useradd 新建用户
userdel 删除用户
id 查看用户信息
passwd 修改用户密码
usermod 修改用户属性
chage 修改用户属性
useradd fzh
:新建用户fzh,执行该命令后,系统作了三个主要工作:
home
目录下新建一个fzh目录。
╰─# ls -al /home/fzh
total 16
drwx------ 2 fzh fzh 76 Dec 21 22:11 .
drwxr-xr-x. 3 root root 17 Dec 21 22:11 ..
-rw-r--r-- 1 fzh fzh 18 Nov 9 2019 .bash_logout
-rw-r--r-- 1 fzh fzh 141 Nov 9 2019 .bash_profile
-rw-r--r-- 1 fzh fzh 312 Nov 9 2019 .bashrc
-rw-r--r-- 1 fzh fzh 658 Mar 21 2020 .zshrc
/etc/passwd
文件末尾插入一条信息
╰─# tail /etc/passwd
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
sssd:x:997:994:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:996:993:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
fzh:x:1000:1000::/home/fzh:/bin/bash
/etc/shadow
文件末尾插入一条记录
╰─# tail -10 /etc/shadow
dbus:!!:18592::::::
systemd-coredump:!!:18592::::::
systemd-resolve:!!:18592::::::
tss:!!:18592::::::
polkitd:!!:18592::::::
sssd:!!:18592::::::
sshd:!!:18592::::::
rngd:!!:18592::::::
mysql:!!:18617::::::
fzh:!!:18617:0:99999:7:::
除此之外,以下命令需要熟悉
id
查看用户信息:
╰─# id fzh
uid=1000(fzh) gid=1000(fzh) groups=1000(fzh)
╭─root@ssp ~
╰─# id root
uid=0(root) gid=0(root) groups=0(root)
- 更改密码
passwd fzh
- 删除用户
# 删除用户,但是保留homw目录下的fzh文件
userdel fzh
# 删除用户,同时删除home目录下fzh目录
uerdel -r fzh
- 修改用户信息
man usermod
man chage
组管理命令
groupadd 新建用户组
groupdel 删除用户组
# 新建组
╰─# groupadd group1
# 新建用户
╰─# useradd user1
# 将用户user1组信息改为group1
╰─# usermod -g group1 user1
# 查看用户信息
╰─# id user1
uid=1000(user1) gid=1002(group1) groups=1002(group1)
# 将用户user2组信息改为group1
╰─# useradd -g group1 user2
# 查看用户user2信息
╰─# id user2
uid=1001(user2) gid=1002(group1) groups=1002(group1)
用户切换
- su 切换用户
- su - USERNAME 使用 login shell 方式切换用户
- sudo 以其他用户身份执行命令
- visudo 设置需要使用sudo的用户(组)
对于一些文件修改只有root用户可以,如果普通用户想操作的话用两种方式:
- 知道root密码,通过
su - root
切换到root用户 - root用户将该操作权限,给普通用户
第一种方法,将root用户密码暴露给普通用户,不够安全,因此我们可以通过第二种方法,将安全的操作权限给普通用户,操作如下:
$ visudo
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
user3 ALL=/usr/sbin/shutdown -c
执行visudo
,然后编辑该配置文件。
用户配置文件介绍
- /etc/passwd
- /etc/shadow
- /etc/group
passwd文件解析:
root:x:0:0:root:/root:/bin/zsh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
记录表示如下:
用户名:是否需要密码: uid : gid:注释:表示用户家目录:登录后的用户shell解释器
shadow文件解析:
bin:*:18358:0:99999:7:::
daemon:*:18358:0:99999:7:::
adm:*:18358:0:99999:7:::
记录表示如下:
用户名:$ xxx$ :…
xxxx:表示用户密码的加密表示。
…省略号后面不重要辣。
group文件解析:
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
组名称:组是否需要验证 : group id: 其他组
关于前两个文件的记录的详细解释,见链接。
Linux系统中/etc/passwd和/etc/shadow文件详解