其他分享
首页 > 其他分享> > 基础day13

基础day13

作者:互联网

用户管理

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 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   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   delete
 # 注意:删除用户,默认情况下,只删除用户本身,其他相关目录文件不会删除
 ​
 # 语法
 userdel [选项]... 用户名
 ​
 # 选项
 -r:递归删除,用户所有相关文件
 ​
 [root@localhost ~]# userdel -r lza
 ​

查看用户其它命令

 # 查看当前系统登录了那些用户
 [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,day13,root,localhost
来源: https://www.cnblogs.com/LZA1218/p/16181679.html