目录
用户管理
linux中用户的概述
用户指的是能够正常登录Linux或Windows系统
与Windows用户的区别
- 支持同一个用户多个设备同时登录
- 支持不同的用户多个设备同时登录
用户的作用
1).系统上的每一个进程(运行的程序)都需要特定的用户运行
2).每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制
3).进程能够以何种方式访问某一个文件或目录,与进程所关联的用户有关
查看系统中用户的命令
# 查看指定用户的信息
id:默认情况不加用户名则查看当前登录用户的信息
# 语法
id:用户名
# 选项
-u:查看当前用户的uid
-g:查看当前用户的gid
-n:配合-u:查看当前登录用户uid对应的名字,配合-g:查看当前登录用户gid对应的名字
例:
[root@localhost ~]# id lza
uid=1000(lza) # userID:用户id号
gid=1000(lza) # groupID:用户组id号
groups=1000(lza) # 该用户的所有信息
# 查看进程(每个进程的运行用户)
[root@localhost ~]# ps -ef
系统用户相关的配置文件
# 用户信息配置文件
/etc/passwd
# 用户密码的存储文件
/etc/shadow
# 用户组信息配置文件
/etc/group
# 用户组密码存储文件
/etc/gshadow
# /etc/passwd
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
lza:x:1000:1000::/home/lza:/bin/bash
第一列 | 第二列 | 第三列 | 第四列 | 第五列 | 第六列 | 第七列 | |
---|---|---|---|---|---|---|---|
内容 | root | x | 0 | 0 | root | /root | /bin/bash |
作用 | 用户名 | 密码占位符 | uid | gid | 描述信息 | 用户的家目录 | 用户登录的shell |
# /etc/shadow
存放用户密码相关信息文件
[root@localhost ~]# cat /etc/shadow
root:$6$58UxK1p3fmBWfTPH$.t9s8Kc9.c8DXEUDU5CDZGqmbkLpXJUv0CTAB7EGAR.ZPq2Ad8mszI/neIinF5s3qEfKv7ngat2MyKhqvADgF.::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
第一列 | 第二列 | 第三列 | 第四列 | 第五列 | 第六列 | 第七列 | 第八列 | 第九列 | |
---|---|---|---|---|---|---|---|---|---|
内容 | root | *!!(没密码) | 18353 | 0 | 99999 | 7 | 2 | 6627567 | 空 |
作用 | 用户名 | 密码(加密) | 从1970年开始上一次修改密码过了多少天 | 密码最少使用多少天,0代表没有限制 | 密码最大使用多少天 | 密码快过期前7天提示要修改密码 | 密码过期后2天强制修改密码 | 用户账户过期时间从1970年开始 | 保留位 |
用户分类(约定,规范centos7)
用户uid | 系统中的含义 |
---|---|
0 | 超级管理员用户 |
1-200 | 系统用户(系统自己创建的) |
201-999 | 系统用户(可以手动创建) |
1000+ | 普通用户 |
chage命令修改用户信息
-d //设置最近一次更改密码时间, 0下次登陆系统强制修改密码
-m //设置用户两次改变密码之间使用"最小天数"
-M //设置用户两次改变密码之间使用"最大天数"
-W //设置密码更改警告时间将过期警告天数设为“警告天数”
-I //设置密码过期天数后, 密码为失效状态
-E //设置用户过期时间, 账户失效后无法登陆
-l //显示用户信息
//修改时间为2014年08月31日,和图中时间匹配,方便后续验证
[root@zls ~]# date -s '20140831'
Sun Aug 3100:00:00 CST 2014
[root@zls ~]# dateSun Aug 3100:00:01 CST 2014
[root@zls ~]# useradd zls1
[root@zls ~]# echo "123" |passwd --stdin zls1
[root@zls ~]# tail -1 /etc/shadow
zls1:!!:16312:0:99999:7:::
//设置最近一次修改密码时间
[root@zls ~]# chage -d "2014-09-01" zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:0:99999:7:::
//设置最短使用密码时间
[root@zls ~]# chage -m 2 zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:2:99999:7:::
//设置密码最长使用时间
[root@zls ~]# chage -M 15 zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:7:::
//设置密码警告时间
[root@zls ~]# chage -W 6 zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:6:::
[root@zls ~]# chage -W 7 zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:7:::
//设置密码过期时间
[root@zls ~]# chage -I 5 zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:6:5::
//设置用户过期时间
[root@zls ~]# chage -E "20115-08-31" zls1
[root@zls ~]# tail -n1 /etc/shadow
zls1:!!!:16314:2:15:6:5::
[root@zls ~]# chage -l zls1
Last password change : Sep 01, 2014 //最近一次更改密码时间
Password expires : Sep 16, 2014 //密码过期时间
Password inactive : Sep 21, 2014 //密码失效时间
Account expires : Aug 31, 2015 //用户失效时间
Minimum number of days between password change : 2 //密码最短使用时间Maximum number of days between password change : 15 //密码最长使用时间Number of days of warning before password expires : 7 //密码过期前警告天数
//如何验证,只调整时间为如下进行验证:
1.验证普通用户是否能修改密码, 不需要调整时间。
2.普通用户登陆系统后, 会提示警告密码还剩多少天过期
[root@zls ~]# date -s "2014-09-12"
3.普通用户登陆系统后, 强制要求修改密码
[root@zls ~]# date -s "2014-09-18"
4.普通用户登陆系统后, 提示账户已过期
[root@zls ~]# date -s "2014-09-23"
用户操作命令
用户创建-useradd
useradd adduser
# 注意:创建用户在默认不指定组的情况下,会同时创建出跟该用户相同的组,跟uid相同的gid,除非-g指定组,则不会创建同名组
# 语法
useradd [选项]... 用户名
# 选项
-u:创建用户时指定用户的uid
-g:创建用户时指定用户的gid,指定用户组名(该组必须存在)
-G:创建用户时指定用户的附加组(该组必须存在)
-c:创建用户时指定用户的描述信息
-d:创建用户时指定用户的家目录(该目录可以不存在,会自动创建)
-m:创建用户时迁移用户的家目录,必须配合-d使用
-M:创建用户时不创建用户的家目录
-s:创建用户时指定用户登录的shell(默认是/bin/bash)
-r:创建用户时指定用户为系统用户
-p:passwd 创建用户的同时,给用户密码
# 例:
[root@localhost ~]# useradd lza
[root@localhost ~]# id lza
uid=1000(lza) gid=1000(lza) groups=1000(lza)
-u:
[root@localhost ~]# useradd lza1 -u 888
[root@localhost ~]# id lza1
uid=888(lza1) gid=1001(lza1) groups=1001(lza1)
-g:
[root@localhost ~]# useradd lza2 -u666 -g root
[root@localhost ~]# id lza2
uid=666(lza2) gid=0(root) groups=0(root)
-G:
[root@localhost ~]# useradd lza -G xx
-c:
[root@localhost ~]# useradd lza -c xxx
-d:
[root@localhost ~]# useradd lza -d /bbbb
-M:
[root@localhost ~]# useradd lza -M
-s:
[root@localhost ~]# usermod lza1 -s /sbin/nologin
修改用户-usermod
usermod modify
# 语法
usermod [选项]... 用户名
# 选项
-u:修改用户时指定用户的uid
-g:修改用户时指定用户的gid,指定用户组名(该组必须存在)
-G:修改用户时指定用户的附加组,会覆盖原来的附加组(该组必须存在)
-a:修改用户附加组的时候,配合-G追加使用
-c:修改用户时指定用户的描述信息
-d:修改用户时指定用户的家目录(该目录可以不存在,会自动创建)
-m:配合-d,迁移用户的家目录
-s:修改用户时指定用户登录的shell(默认是/bin/bash)
-----------------------------------------------------
-l:更改用户登录名
-L:锁定用户
-u:解锁用户
#例:
-u:
[root@localhost ~]# id lza1
uid=1001(lza1) gid=1001(lza1) groups=1001(lza1)
[root@localhost ~]# usermod lza1 -u 888
[root@localhost ~]# id lza1
uid=888(lza1) gid=1001(lza1) groups=1001(lza1)
-g:
[root@localhost ~]# usermod lza1 -u 666 -g root
[root@localhost ~]# id lza1
uid=666(lza1) gid=0(root) groups=0(root)
-s:
lza3:x:1001:1002::/home/lza3:/sbin/nologin
[root@localhost ~]# usermod lza3 -s /bin/bash
[root@localhost ~]# cat /etc/passwd
lza3:x:1001:1002::/home/lza3:/bin/bash
删除用户- userdel -r
userdel delete
# 注意:删除用户,默认情况下,只删除用户本身,其他相关目录文件不会删除
# 语法
userdel [选项]... 用户名
# 选项
-r:递归删除,用户所有相关文件
[root@localhost ~]# userdel -r lza
查看用户其它命令-who whoami
# 查看当前系统登录了那些用户
[root@localhost ~]# who
#用户 #终端 #登录时间 #从哪里连接过来
root tty1 2022-04-03 10:38
root pts/0 2022-04-03 10:39 (10.0.0.1)
#查看当前系统登录了那些用户
[root@localhost ~]# w
w: 68 column window is too narrow
# 查看当前登录的用户
[root@localhost ~]# whoami
root
[lza@localhost root]$ whoami
lza
标签:sbin,操作命令,用户,密码,zls,root,localhost
From: https://www.cnblogs.com/LZA1218/p/16769911.html