IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux用户管理 day5 -> 正文阅读

[系统运维]Linux用户管理 day5

1、用户基本概述

1.1什么是用户

用户是指可以正常登录到Linux或windows系统的,或者游戏,qq,微信等都叫做用户

1.2为什么需要用户

系统的每一个进程运行的程序都需要一个特定的用户运行;
通常在公司我们使用普通的用户管理服务器,因为root用户权限过大,容易造成故障;

用户有哪些分类

系统对用户有一个约定,一般我们遵守这个(也可以不遵守)

用户UID系统中约定的含义
0超级管理员,最高权限
1-200系统用户,用来运行系统自带的进程,默认已创建
201-999系统用户,用来运行用户安装的程序,所以此类用户无序登录系统
1000+普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限

1.3 id 查询用户IDxxi

使用id命令查询当前登录的用户信息

1.4 用户相关的配置文件

当我们创建一个新的用户,系统会将这个用户的信息存放到 /etc/passwd 中,而密码单独存放在/etc/shadow,这两个文件非常重要,不要轻易的删除更改。

1.4.1 passwd文件

/etc/passwd配置文件解释如下图,使用命令man 5 shadow获取帮助
在这里插入图片描述

1.4.2 shadow文件

/etc/shadow配置文件解释如下图,使用命令man 5 shadow获取帮助

在这里插入图片描述

2.用户相关命令

2.1 添加用户命令useradd

如果想要添加系统的普通用户可以使用useradd命令,使用root账号登录之后就可以添加普通用户了。

选项功能描述
-u指定要创建的用户的UID,不允许冲突
-g指定要创建用户的基本组
-G指定要创建用户附加组,逗号隔开可添加多个附加组
-s指定要创建用户的bash shell
-c指定要创建用户注释信息
-M给创建的用户不创建家目录
-r创建系统账号,默认家目录

2.1.1.1 添加用户示例1

。创建shunge用户
。基本组为klc,附加组bbc
。注释信息为 10000 yqyqy,登录shell:/bin/bash``

[root@localhost ~]# groupadd klc
[root@localhost ~]# groupadd bbc
[root@localhost ~]# useradd -g klc -G bbc -c "10000 yqyqy" -s /bin/bash shunge
[root@localhost ~]# id shunge
uid=6971(shunge) gid=6974(klc)=6974(klc),6975(bbc)

2.1.2 添加用户示例2

。创建一个mmm系统用户[201-999]
。该用户不需要家目录
。该用户不需要登录用户

[root@localhost ~]# useradd -r mmm -M -s /sbin/nologin 
[root@localhost ~]# passwd mmm
更改用户 mmm 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# id mmm
uid=997(mmm) gid=995(mmm)=995(mmm)

/bin/bash 可以登录系统
/sbin/nologin 不可以登录系统
然后我们在使用mmm用户登录一下xshell,显示无法登录
在这里插入图片描述

2.2 修改用户usermod

我们也可以登录root用户,使用usermod命令修改Linux系统普通用户

选项功能描述
-u指定修改用户的UID
-g指定要修改用户基本组
-G指定要修改用户附加组,使用逗号隔开多个附加组,覆盖原有的附加组
-a必须与-G一起使用追加到某些组中
-d指定要修改用户家目录
-s指定要修改用户注释信息
-l指定要修改用户的登录名
-L指定要锁定的用户
-U指定要解锁的用户

2.2.1 修改用户示例1

。修改shunge用户
。uid为5008
。基本组为network,附加组为 sa,sb,sc
。注释信息为new,登录名称为new_shunge

[root@localhost ~]# usermod  shunge -u 5008 -g network -aG sa,sb,sc -c "new" -l new_shunge
[root@localhost ~]# id new_shunge
uid=5008(new_shunge) gid=6971(network)=6971(network),6972(sa),6975(bbc),6976(sb),6977(sc)

2.2.2 修改用户示例2

。修改用户new_shunge用户
。为new_shunge配置密码
。解锁该用户然后再次远程登录

# 设置密码,锁定用户
[root@localhost ~]# echo "123" |passwd --stdin new_shunge
更改用户 new_shunge 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# usermod -L new_shunge

# 解锁用户
[root@localhost ~]# usermod -U new_shunge

2.3 删除用户userdel

如果想要删除用户我们也可以登录root用户来删除系统普通用户

2.2.1 删除用户示例

。删除new_shunge
。连同家目录一起删除(-r)

[root@localhost ~]# userdel -r new_shunge

2.2.1 删除用户示例2

。批量系统中此前创建过的使用无用用户
。使用awk提取无用的用户名称
。使用sed拼接删除用户的命令
。调用userdel命令,连同家目录一起删除

#先批量创建一些用户
[root@localhost ~]# cat chuangjian.sh 
#!/bin/bash
for i in {1..100}
do
	useradd shunge-$i
	echo "shunge-$i is create ok"
done

[root@localhost ~]# awk -F ':' '$3>1000{print $1}' /etc/passwd |sed -r 's#(.*)#userdel -r \1#g' |bash
#先使用awk去除第三列uid大于1000的普通用户,将其名字打印出来,然后使用sed 在其前加上删除命令,再交由bash执行

2.4 设定密码passwd

创建用户后,如需登录用户进行远程登录系统则需要为用户设定密码,设定密码使用passwd
。普通用户只能更改自己的密码,无法修改其他人的密码,并且密码长度必须8位字符
。管理员(root)用户允许修改任何人密码,无论密码多长多短

2.4.2 交互式设定密码

。通过交互式为用户设置密码

[root@localhost ~]# passwd           #为当前用户修改密码

[root@localhost ~]# passwd root           #为root用户修改密码
[root@localhost ~]# passwd shunge           #为shunge用户修改密码,普通用户只能给自己修改密码

2.4.2 非交互设定密码

通过非交互设定简单密码

[root@localhost ~]# echo ""123" |passwd --stdin shunge

非交互式设定随机密码

root@localhost ~]#  echo $(mkpasswd -l 10 -d -2 -c 2 -c 2 -s 4) |tee pass.txt |passwd --stdin new_shunge

#!/bin/bash
for i in s1 s2 s3
do
        pass=$(mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4)
        useradd $i
        echo "$pass" | passwd --stdin $i &> /dev/nell
        echo "user: $i pass: $pass" 
        echo "user: $i pass: $pass" >> user_pass.txt
done
[root@localhost ~]# sh /useradd_new.sh 
user: s1 pass: .kXN#9q'4"
user: s2 pass: LP:a47d!}#
user: s3 pass: =9f-"eW:5Y
#显示随机生成的密码已经用户名

2.5 系统创建用户流程

。系统在创建用户时,会参考如下两个配置文件:
/etc/login.defs
/etc/default/useradd
如果在创建用户时指定了参数会覆盖系统默认的配置,如果没有指定参数则遵循默认配置建立用户;

2.5.1 /etc/login.defs

/etc/login.defs主要定义创建用户UID划分规则,密码加密类型,是否创建家目录等;

[root@localhost ~]# grep -Ev "^#|^$" /etc/login.defs 
MAIL_DIR	/var/spool/mail
PASS_MAX_DAYS	99999
PASS_MIN_DAYS	0
PASS_MIN_LEN	5
PASS_WARN_AGE	7
UID_MIN                  1000
UID_MAX                 60000
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME	yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

2.5.2 /etc/default/useradd

/etc/default/useradd主要定义
创建家目录位置;
默认用户的shell类型;
默认从哪个位置拷贝环境变量;
是否创建用户同名邮箱等

[root@localhost ~]# grep -Ev "^#|^$" /etc/login.defs 
MAIL_DIR	/var/spool/mail
PASS_MAX_DAYS	99999
PASS_MIN_DAYS	0
PASS_MIN_LEN	5
PASS_WARN_AGE	7
UID_MIN                  1000
UID_MAX                 60000
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME	yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

2.5.3 用户环境变量丢失案例

当我们不小心在当前用户家目录下执行rm -rf ,* 后再次登录系统会发现命令提示符变成了 -bash-4.1$ 那是因为我们删除了当前用户的环境变量造成的现象,通过以下凡是即可恢复

-bash-4.2$ cp -a /etc/skel/.bash* ./
-bash-4.2$ exit

默认linux创建用户,会从 /etc/skel 目录中拷贝对应的环境变量,由 /etc/defaults/useradd 配置文件定义,所以只需要从该目录下拷贝相应的环境变量即可恢复故障

3.用户组基本概述

3.1 什么是用户组

。组是一种逻辑层面的定义
。逻辑上就是将多个用户归纳为一个组,当我们对组操作,其实相当于对组内的所以用户操作

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:54:04  更:2021-07-13 17:56:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:57:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计