Linux基础之(用户管理)
用户基本概述
什么是用户
用户在这里指的是能够正常登录Linux
或windows
系统的账号
为什么需要用户
系统上的每一个进程(运行的程序),都需要一个特定的用户运行;
通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障;
用户有哪些分类
系统对用户有一个约定?(约定娶你,就真的会娶嘛?)
用户UID 系统中约定的含义 0 超级管理员,最高权限,有着极强的破坏能力 1~200 系统用户,用来运行系统自带的进程,默认已创建 201~999 系统用户,用来运行用户安装的程序,所以此类用户无需登录系统 1000+ 普通用户,正常可以登陆系统的用户,权限比较小,能执行的任务有限
查询用户ID信息
使用
id
命令查询当前登录用户的信息[root@web ~]# id #查看当前所登陆的用户信息 uid=0(root) gid=0(root) groups=0(root) [root@web ~]# id bi #查看其它用户的信息 uid=1000(bi) gid=1000(bi) groups=1000(bi) 复制代码
用户相关配置文件
当我们创建一个新的用户,系统会将用户的信息存放在/etc/passwd
中,而密码单独存储在/etc/shadow
中也就是说这两个文件非常的重要,不要轻易删除与修改。
passwd文件
/etc/passwd
配置文件解释如下图,或者使用命令man 5 passwd
获取帮助
shadow文件
/etc/shadow
配置文件解释如下图,或者使用命令man 5 shadow
获取帮助
用户相关命令
添加用户useradd
若想要添加Linux系统普通用户,可以使用useradd
命令,使用root
账号登录Linux
系统之后就可以添加系统普通用户了。
选项 | 功能描述 |
---|---|
-u | 指定要创建用户的UID,不允许冲突 |
-g | 指定要创建用户基本组 |
-G | 指定要创建用户附加组,逗号隔开可添加多个附加组 |
-d | 指定要创建用户家目录 |
-s | 指定要创建用户的bash shell |
-c | 指定要创建用户注释信息 |
-M | 给创建的用户不创建家目录 |
-r | 创建系统账户,默认无家目录 |
添加用户示例1
创建
birenchong
用户[root@web ~]# groupadd ops [root@web ~]# groupadd dev [root@web ~]# useradd -u 5001 -g ops -G dev -c "2000 student" -s /bin/bash birenchong 复制代码
用户ID为
5001
基本组为
ops
,附加组dev
注释信息
2000 new student
,登陆shell:/bin/bash
添加用户示例2
创建一个
mysql
的系统用户[root@web ~]# useradd -r dba -M -s /sbin/nologin 复制代码
该用户不需要家目录。该用户不需要登陆系统
修改用户usermod
若想要修改Linux
系统普通用户,可以使用usermod
命令,使用roo
t账号登录Linux
系统之后就可以修改系统普通用户了。
选项 | 功能描述 |
---|---|
-u | 指定修改用户的UID |
-g | 指定要修改用户基本组 |
-G | 指定要修改用户附加组,使用逗号隔开多个附加组,覆盖原有的附加组 |
-d | 指定要修改用户家目录 |
-s | 指定要修改用户的bash shell |
-c | 指定要修改用户注释信息 |
-l | 指定要修改用户的登陆名 |
-L | 指定要锁定的用户 |
-U | 指定要解锁的用户 |
修改用户示例1
修改
birenchong
用户[root@web ~]# groupadd network [root@web ~]# usermod birenchong -u 5008 -c "student" -g network -aG sa -l new_birenchong 复制代码
uid
为5008
基本组为
network
,附加组为ops,dev,sa
注释信息为
student
,登陆名称为new_birenchong
修改用户示例2
修改
new_birenchong
用户#配置密码 [root@web ~]# echo "123" | passwd --stdin new_birenchong #锁定用户 [root@web ~]# usermod -L new_birenchong #解锁用户 [root@web ~]# usermod -U new_birenchong 复制代码
为
new_birenchong
配置密码锁定该用户,然后测试远程连接登陆
解锁该用户然后再次测试远程连接登陆
删除用户userdel
若想要删除Linux
系统普通用户,可以使用userdel
命令,使用root
账号登录Linux
系统之后就可以删除系统普通用户了
删除用户示例1
删除
new_birenchong
用户[root@web ~]# userdel -r new_birenchong 复制代码
连同家目录一起删除
删除用户示例2
批量系统中此前创建过的所有无用的用户
[root@web ~]# awk -F ':' '$3>1000{print $1}' /etc/passwd | sed -r 's#(.*)#userdel -r \1#g' | bash 复制代码
使用
awk
提取无用的用户名称使用
sed
拼接删除用户的命令调用
userdel
命令,连同家目录一起全部删除
设定密码passwd
创建用户后,如需要使用该用户进行远程登陆系统则需要为用户设定密码,设定密码使用
passwd
1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符
2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。
交互设定密码
通过交互方式为用户设定密码
[root@web ~]# passwd #给当前用户修改密码 [root@web ~]# passwd root #给root用户修改密码 [root@web ~]# passwd birenchong #给birenchong用户修改密码,普通用户只能自己修改自己 复制代码
非交互设定密码
非交互式设定简单密码
[root@web ~]# echo "123" | passwd --stdin birenchong 复制代码
非交互式设定随机密码
# mkpasswd是随机生成密码的一个工具,如果没有这个命令,请先安装 [root@web ~]# yum install -y expect # -l:指定密码长度(默认是7位数) -d:指定数字个数 -c:指定小写字母个数 -C:指定大写字母个数 -s:指定特殊字符个数 [root@web ~]# echo $(mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4) | tee pass.txt | passwd --stdin birenchong
作者:晚霞晴
链接:https://juejin.cn/post/7026540879246524453