用户管理
  DcpJeOZ6VzTX 2023年11月02日 52 0

用户基本概述

什么是用户管理

**用户:**指的是能够正常登录Linux或windows系统

那Linux与windows系统的用户有什么区别? 本质都是登录系统的,只不过Linux支持多用户同时登录,windows默认不支持,但是修改 组策略 的情况下也是可以多用户登录的

用户管理_创建用户

用户的作用

登录用户
用户用来运行程序
每一个目录或者文件,都有指定的用户的权限
程序的运行用户要与程序调用的用户目录权限相同

-#官方一点:
1)系统上的每一个进程(运行的程序)都需要特定的用户运行
2)每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制
3)进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关

用户管理_创建用户_02

存放用户信息的文件:/etc/passwd

# 存放用户信息的文件
haige:x:1101:1101:dsb:/home/haige:/bin/bash (一共七列)
第一列 用户名
第二列 密码的占位符
第三列 用户的id  即UID (root是0)
第四列 用户组的id  即gid (root是0)
第五列 对用户的表述 (创建用户时用-c选项可以添加描述) 
第六列 用户的家目录
第七列 用户登录的bash

用户管理_SYS_03

存放用户密码的文件:/etc/shadow

# 存放用户密码的文件
root:$6$Fzdrl/MlvIHxuLTw$9BFVJiH4Z5PT.0ZJfXMp9NC4wxlPIeTl0hXySqPiDfTChREYD25Ab3hRuU0kiwhgWGXwbwIa4x80OW1a5k6951::0:99999:7:::
baolong:!!:19425:0:99999:7:::
第一列 用户名
第二列 加密后的密码,!!/*代表没有密码
第三列 上一次更改密码的时间,是从1970年开始算
第四列 密码最少使用天数 0代表无限
第五列 密码最长使用天数 99999代表无限
第六列 密码到期前7天提示需要修改密码
第七列 密码过期后N天强制更改密码
第八列 账户失效时间,也是从1970年开始算
第九列 为空

用户管理_创建用户_04

用户分类(规范、约束)

用户UID

系统中约定的含义

0

超级管理员(拥有最高权限)

1-199

系统用户,由系统分配给系统进程使用

200-999

系统用户,用来运行服务账户,不需要登陆系统(动态分配)

1000+

常规普通用户

用户管理

增加用户-useradd

增加用户:useradd / adduser

-#选项及用法
-u 指定用户的uid(前提是你指定的uid不存在,否则无法创建)
useradd -u 10086 xyz

-g 指定用户的组(给用户分配到一个已存在的组)
useradd -g haige xyz   (# xyz是新用户,创建成功后xyz的gid与haige的相同,uid是基于上一个用户往下递增)

-d 指定用户家目录
useradd -d /tmp/ zxc

-c 指定用户注释信息
useradd -c'for linux' mmm

-M 不创建家目录
useradd -M jkl

-s 指定用户默认shell
useradd -s /sbin/nologin mnb

-G 指定用户加入附加组
useradd -G haige,baolong zzz(新用户)(让zzz加入到这两个组里面)

## 创建用户会默认创建和用户同名的组

用户查找- id+用户名

用户查找:id + 用户名
-#方法一:
[root@localhost /home]# id xiaolv   不存在的用户
id: xiaolv: no such user

[root@localhost /home]# id xiaohei    存在的用户
uid=10096(xiaohei) gid=10096(xiaohei) groups=10096(xiaohei)

-#方法二:
cat /etc/passwd

修改用户-usermod

修改用户:usermod

# 参数的用户名是必须创建过的
-u 修改用户的uid
usermod -u 2000 xiaohei(UID可以随便一个数)

-g 修改gid (gid 组必须存在)(用户必须存在)
usermod -g 1096 xiaohei

-G 修改附加组 组必须存在
usermod -G xiaobai,mmm xiaohei
usermod xiaohei -G xiaobai,mmm

-c 修改注释信息
usermod -c 'heideyipi' xiaohei

-s 修改用户的登录shell
usermod -s /sbin/nologin xiaohei

-m 迁移家目录 要配合-d
usermod -d /opt/hei -m xiaohei

-l 修改用户的登录名
usermod -l zhenniubi(新名字) niubi(已存在)

-g 指定用户的组 组必须存在
usermod  zls(用户) -g oldboyedu(组)

# 忘了他
-L 锁定用户
usermod xiaohei -L
-U 解锁用户
usermod xiaohei -U

用户管理_创建用户_05

删除用户-userdel

删除用户:userdel
-r 删除用户的同时删除用户的家目录
userdel -r xiaohei

不加选项    删除用户,并不删除家目录 (#不要用这个去删用户)
userdel xiaohong

用户密码管理

创建完账户后,默认是没有设置密码的,所以该账户是没有办法登陆操作系统。只有使用passwd设置好密码后方可登录系统。

使用passwd为用户创建密码时,为了安全起见,请尽量设置复杂一些。

可以按照如下规则设置密码:

1.密码的长度最好大于10位字符

2.密码中包含大小写字母数字以及特殊字符 ! @ # $

3.不规则性(不要出现自己名字、公司名字、自己电话、等等简单的密码)

需要注意:

1.普通用户只能更改自己的密码(密码必须满足8位字符)

2.管理员用户能更改任何人的密码(密码长度无限制)

修改用户密码-passwd

# 给当前登录用户设置密码
passwd

# 给普通用户设置密码(登录root管理员用户时)
passwd user

#注意:
  # root用户设置密码可以无视密码长度
  # 普通用户设置密码必须遵守8位数
  # 只有root管理员才可以修该其他用户的密码,普通账户只能修改自己的密码,并且普通用户没有修改其他用户密码的权限

# 交互
类似挤牙膏,动一下挤一下
语法:passwd 用户名

# 免交互
可以免除交互,不需要一个个点
echo 密码 | passwd --stdin 用户名

# 生成密码
先安装 yum install -y expect
mkpasswd -l 10 -d 3 -c 4 -C 2 -s 1
-l 密码长度
-d 密码数字个数
-c 小写英文个数
-C 大写英文个数
-s 特殊符号

拓展

# 命令修改用户信息
chfn baolong

# 命令查询用户信息以及登陆信息
先安装 yum install -y finger
finger +用户名

# 查看终端用户
who
w
[root@web02 ~]# who
root     tty1         2023-08-08 19:16
root     pts/0        2023-08-08 19:16 (10.0.0.1)
[root@web02 ~]# w
 21:08:30 up  1:52,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      19:16    1:52m  0.02s  0.02s -bash
root     pts/0    10.0.0.1         19:16    6.00s  0.06s  0.00s w

恢复家目录

用户管理_普通用户_06

用户管理_普通用户_07

用户管理

# 用户创建流程(创建用户时会产生的流程)
#所在文件: /etc/login.defs
[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
[root@localhost ~]# grep '^[A-Z]' /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

/etc/login.defs文件讲解

[root@localhost ~]# grep '^[A-Z]' /etc/login.defs(或grep -Ev '^#|^$' /etc/login.defs)

# 创建用户的时候会创建用户相关邮件所在的路径(指定创建用户时,默认邮件文件的位置 在/var/spool/mail里)(先cd /var/spool/mail  在ll 可查看用户的邮件文件)
MAIL_DIR /var/spool/mail
# 创建用户默认密码最长使用天数
PASS_MAX_DAYS 99999  (vim /etc/login.defs可修改,在创建用户useradd 用户名 ,再cat /etc/shadom即可查看修改后用户密码最长使用天数)
# 创建用户默认密码最小使用天数/etc/default/useradd
PASS_MIN_DAYS 0
# 密码最少长度
PASS_MIN_LEN 5
# 密码到期前7天会提醒
PASS_WARN_AGE 7
# 普通用户最小uid
UID_MIN 1000
# 普通用户最大uid(可大于60000)
UID_MAX 60000
# 系统用户最小uid
SYS_UID_MIN 201
# 系统用户最大uid
SYS_UID_MAX 999
# 普通用户最小gid
GID_MIN 1000
# 普通用户最大gid
GID_MAX 60000
# 系统用户最小gid
SYS_GID_MIN 201
# 系统用户最大gid
SYS_GID_MAX 999
# 默认创建家目录
CREATE_HOME yes
# umask
UMASK 077
# 创建用户的时候,同时创建该用户的同名用户组
USERGROUPS_ENAB yes
# 密码加密格式 SHA512
ENCRYPT_METHOD SHA512

/etc/default/useradd

USERGROUPS_ENAB no 的情况下才会读取/etc/default/useradd配置文件

vim /etc/default/useradd

# useradd defaults file
 # 组的gid是100
GROUP=100
 # 家目录的位置
HOME=/home
 # 账号过期后都不会停止使用 -1=不开启
INACTIVE=-1
 # 账号不过期
EXPIRE=
 # 指定用户创建时的shell
SHELL=/bin/bash
 # 普通用户的环境变量储存
SKEL=/etc/skel
 # 创建用户时,是否创建邮件文件
CREATE_MAIL_SPOOL=yes
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 组管理 下一篇: vim文本编辑器
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  wDXXU13OlTR8   2023年11月19日   37   0   0 创建用户状态码bash
  DcpJeOZ6VzTX   2023年11月02日   53   0   0 创建用户SYS普通用户
  Y2DYuFOrJWoW   2023年11月02日   50   0   0 root用户5e普通用户