Linux下的用户管理技巧

  1. 用户及用户组存在的意义
  2. 用户在系统中的存储方式
  3. 深入分析用户涉及到的配置文件及内容
  4. 用户信息的查看(id命令)
  5. 用户身份的切换方式及环境变量
  6. 用户及用户组的建立及删除
  7. 用户及用户组的信息管理
  8. 用户认证文件的内容分析
  9. 用户认证管理
  10. 用户权力的下放1.用户及用户组存在的意义
    一.用户及用户存在的意义
    用户是操作者在系统中的身份标识
    组是逻辑概念,是用户的集合,
    用户的存在为了限制权限
    组的存在为了归类用户便于管理权限
    二.用户在系统中的存储方式
    用户在系统中就是文件中的字符串
    每个字符串映射了该用户所用到的系统资源
    三. 深入分析用户涉及到的配置文件及内容
/etc/passwd            #用户信息库
/etc/group             #组信息库
 /home/用户同名目录     #默认用户家目录
/etc/skel/所有文件     #用户环境配置文件模板
 /etc/shadow         #用户认证信息
/etc/gshadow         #组认证信息

四.用户信息的查看(id命令)
用户id 查询

 [root@workstation Desktop]# whoami   查看自身名称
    root

在这里插入图片描述

首先进入普通用户student

 gnome-session-quit   --force 注销当前用户

在这里插入图片描述

[student@workstation ~]$ id hello(不存在的用户)
id: ‘westos’: no such user
[student@workstation ~]$ id -u student   查询用户uid
1000
[student@workstation ~]$ id -g student   查询用户初始组id 
1000
[student@workstation ~]$ id -G student  查看用户所有组的id(显示附加组)
1000 10
[student@workstation ~]$ id student   查看所有id(-a)
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[student@workstation ~]$ id -gn student 显示用户初始组名字不显示id
student
[student@workstation ~]$ id -un student  查看用户名字不显示id
student
[student@workstation ~]$ id -Gn student  显示用户所有组名字不显示id
student wheel

在这里插入图片描述
五.用户身份的切换方式及环境变量

用户身份切换
su 和 su -
su 只切换用户身份,不切换用户环境
su - 切换用户身份及用户环境
超级用户切换到普通用户不用输入密码,普通用户切换到高级用户及平级用户之间切换都需要密码

 [root@workstation Desktop]# su - student     从超级用户切换到普通用户student无需输入密码
  Last login: Fri Dec 27 18:36:25 EST 2019 on tty2
 [student@workstation ~]$ pwd                             显示当前位置
  /home/student
 [student@workstation ~]$ touch aaa                       使用touc成功创建文件
 [student@workstation ~]$ su - root                       低级切换到高级用户
  Password:                                                  输入密码
  Last login: Fri Dec 27 18:38:07 EST 2019 on tty2
  [root@workstation ~]# su student                      使用su 切换到student
  [student@workstation root]$ pwd                        显示当前目录 student用户还在root用户下
   /root
   [student@workstation root]$ touch bbb                创建文件
   touch: cannot touch 'aaa': Permission denied           无法创建su只切换身份未改变环境

在这里插入图片描述
用户切换只执行一层切换及时退出 在一个shell中不要经常切换用户应及时退出(exit),否则当低级用户切换到高级用户时无法打开gedit
原因:低级切换到高级时。再次在超级用户状态下打开gedit时 会先把命令给低级用户,所以无法打开。

六.用户及用户组的建立及删除

groupadd      用户组名称       用户组的建立
groupdel      用户组名称      用户组的删除
userdel  -r   用户名称       用户删除(不加-r则指删除用户信息。用户组和家目录没有删除)
useradd       用户名称        新用户建立

建立用户时,读取/etc/login.defs 文件内容确定规则

useradd的常用参数
-u 指定用户的 uid
-g 指定用户的 gid
-G 指定用户的附加组
-c 指定用户的说明
-d 指定用户的家目录 , 默认为 /home/username
-s 指定用户的默认shell

[root@foundation66 Desktop]# watch -n -1 'tail -n -3 /etc/passwd /etc/group;ls -l /home   时时监控
不指定任何参数建立用户系统自动分配

在这里插入图片描述

[root@foundation66 ~]# useradd -u 6666 westos  建立一个id为6666的用户      

在这里插入图片描述

[root@foundation66 ~]# userdel -r westos   删除该用户
[root@foundation66 ~]# useradd -G 21 westos  建立一个指定附加组为为21的westos用户
[root@foundation66 ~]# id westos  查看该用户id
uid=1001(westos) gid=1001(westos) groups=1001(westos),72(tcpdump)-指定的附加组

在这里插入图片描述

[root@foundation66 ~]# useradd -c "home westos" westos   建立一个指定用户说明为“home westos"的用户

在这里插入图片描述

[root@foundation66 ~]# useradd -s /sbin/nologin westos指定建立一个“/sbin/nolgin"shell的用户 禁止登陆

在这里插入图片描述

[root@foundation66 ~]# useradd -d "/home/westos" westos 指定用户家目录

在这里插入图片描述

指定建立用户初始组或附加组id时 该用户的组的身份id必须存在,否则无法建立指定id的用户组

[root@foundation66 Desktop]# useradd -g 8888 westos直接建立用户初始组
useradd: group '8888' does not exist  显示无此用户组,无法建立

指定建立初始组为8888的用户

1  [root@foundation66 ~]# groupadd -g 8888 westos建立指定id用户组
2  [root@foundation66 ~]# useradd -g 8888 westos建立指定id的用户初始组

在这里插入图片描述

 [root@workstation ~]# useradd -M -s /sbin/nologin westos   不建立家目录 使用-M  -s   且不可登陆

在这里插入图片描述
七.用户及用户组的信息管理

 用户名称更改                usermod -l     新名称   旧名称
 用户uid更改                usermod -u      id数字     名称   
 更改用户初始组id            usermod  -g   id数字     名称   注意更改用户初始组或者附加组id 时该用户组必须存在
 更改用户组id                groupmod -g   id数字    名称     
 指定用户附加组              usermod -G    用户名称   组名称   再次    usermod -G 用户 附加组名称 回车后,  会覆盖之前附加组       参数更改为-aG则不会覆盖原来附加组  清除附加组更换参数-G “” 名称
 修改用户说明                usermod -c " " 名称
 修改用户家目录              usermod -md /home/lee 名称    家目录和真实目录都更改  登陆不会报错(使用-d只更改指向未更改真实目录)
 修改用户shell类型           usermod -s /sbin/nologin  名称  此目录被设置为不可登陆(/sbin/nologin)

实时监控以更改用户westos为列如下:

[root@workstation Desktop]# watch -n 1 "tail -n 3 /etc/passwd /etc/group;echo ===; ls -l /home/"

在这里插入图片描述
7.1用户名称更改
在这里插入图片描述
7.2用户uid更改
在这里插入图片描述
7.3更改用户初始组id

在这里插入图片描述
7.4更改用户组id
在这里插入图片描述
7.5指定用户附加组 再次 usermod -G 用户 附加组名称 回车后, 会覆盖之前附加组 参数更改为-aG则不会覆盖原来附加组 清除附加组更换参数-G “” 名称
在这里插入图片描述

7.6修改用户说明
在这里插入图片描述
7.7修改用户家目录 -md 家目录和真实目录都更改 登陆不会报错(使用-d只更改指向未更改真实目录)
在这里插入图片描述

7.8修改用户shell类型 不可登陆
在这里插入图片描述

八.用户认证文件的内容分析
/etc/shadow 用户认证信息文件
在这里插入图片描述

[root@workstation Desktop]# getent passwd root     查看当前用户相关信息
 root:x:0:0:root:/root:/bin/bash
[root@workstation Desktop]# cat /etc/shadow
root:$6$pgX/GzB0RMFPX4IU$F4tv6FQBru4FKIG3y5mrtR9tbYSaZWaVfSWSvqkozq.wh5AURi/F4ZZgob4tGjlWJ/oi4kg9A6xrxNPiEKQV6/:18264:0:99999:7:::
bin:*:17784:0:99999:7:::
daemon:*:17784:0:99999:7:::
adm:*:17784:0:99999:7:::
lp:*:17784:0:99999:7:::
sync:*:17784:0:99999:7:::
shutdown:*:17784:0:99999:7:::
halt:*:17784:0:99999:7: : :
 1   2   3   4   5   6 7 8

1.用户名称
2.用户密码 加密字符
3.密码已经使用时间
4.密码最短有效期,期限内不可改密码
5.密码最长有效期
6.密码到期前警告天数,到期前几天会提前警告
7.密码非活跃天数 到期后还可延长使用
8.密码到期日,到指定时期自动冻结
九.用户认证管理
passwd 管理修改所有密码和一部分密码属性 ,超级用户修改自身密码无任何限制直接更改,普通用户不能修改自身密码 ,并且需要输入原始密码方可更改
chage 修改所有密码属性但不能更改密码

   passwd                                      
      -l   冻结账户密码变为  !!                 
      -u   解除冻结 
      -d   删除密码,登陆不再需要密码 
      -S   进行用户账号查看                     
      -e   修改密码使用时间                    
      -n   修改密码最短有效期                     
      -x   修改密码最长有效期
      -w   修改密码到期警告天数   
      -i   修改 非活跃天数 ,可延长几天使用  

passwd命令的使用
创建一个用户westos,修改其用户信息

root@foundation66 Desktop]# useradd westos
[root@foundation66 Desktop]# watch -n -1 tail -n -1 /etc/shadow(实时监控该用户信息)

在这里插入图片描述

[root@foundation66 Desktop]# passwd -e  westos 更改用户默认使用天数为0
Expiring password for user westos.
passwd: Success
westos:!!:0:0:99999:7:::  
再次登陆会被强制更改密码

在这里插入图片描述

root@foundation66 Desktop]# passwd -n 1 westos   修改密码的最短有效期为1 
Adjusting aging data for user westos.
passwd: Success
westos:!!:0:1:99999:7:::       1为一天即24小时内不可更改密码

在这里插入图片描述

[root@foundation66 Desktop]# passwd -x 30 westos  修改最长有效期
Adjusting aging data for user westos.
passwd: Success
westos:!!:0:1:30:7:::  该密码可使用30天

在这里插入图片描述

[root@foundation66 Desktop]# passwd -w 3 westos  修改警告其为3天
Adjusting aging data for user westos.
passwd: Success
westos:!!:0:1:30:3:::  倒计时3天会发出提醒更改密码

在这里插入图片描述

[root@foundation66 Desktop]# passwd -i 2 westos 修改非活跃天数为2天
Adjusting aging data for user westos.
westos:!!:0:1:30:3:2::  不更改密码的情况下可延长两天使用

在这里插入图片描述

最后一位是修改账号到期时间,到期会自动冻结 passwd无法修改该属性
[root@foundation66 Desktop]# passwd -d westos  删除密码,登陆时直接进入系统不输入密码

在这里插入图片描述
在这里插入图片描述

[root@foundation66 Desktop]# passwd -l westos   对账户进行冻结
Locking password for user westos.
passwd: Success
westos:!!:0:1:30:3:2::   密码为!!表示冻结

在这里插入图片描述

[root@foundation66 Desktop]# passwd -u westos 解除冻结
Unlocking password for user westos.
passwd: Success

在这里插入图片描述

[root@foundation66 Desktop]# passwd -S westos  查看用户信息

在这里插入图片描述

chage
-l查看用户账号密码信息
-d修改密码最后一次修改时间
-m修改密码最短有效期
-M修改密码最长有效期
-W修改密码警告日期
-I设定密码账号非活跃天数
-Ex修改账号到期日

chage不能更改密码
实时查看
在这里插入图片描述

[root@foundation66 Desktop]# chage -d 9999 westos   更该密码的使用时间

在这里插入图片描述

[root@foundation66 Desktop]# chage -m 5 westos  更改密码最短有效期为5

在这里插入图片描述

[root@foundation66 Desktop]# chage -M 999 westos  修改账号密码最长有效期999

在这里插入图片描述

[root@foundation66 Desktop]# chage -W 8 westos 修改密码警告期8

在这里插入图片描述

[root@foundation66 Desktop]# chage -I 6 westos  更改账号密码的非活跃天数6

在这里插入图片描述

[root@foundation66 Desktop]# chage -E “2020-8-8” westos 修改账号的到期日 2020-12-12

在这里插入图片描述
此时间从1970年算起到设置时间

10.用户权力的下放
1.sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相
对于权限无限制性的 su 来说 , 还是比较安全的
2.sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相
对于权限无限制性的 su 来说 , 还是比较安全的sudo 执行命令的流程是当前用户切换到 root,
然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过
sudo 的配置文件 /etc/sudoers 来进行授权

[root@foundation66 Desktop]# su - westos    切换到普通用户westos
Last login: Thu Jan  2 04:46:32 CST 2020 on pts/1    
[westos@foundation66 ~]$ useradd lee     建立新用户Lee
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later  权限被拒

在这里插入图片描述

使普通用户具备超级用户的一部分权力及建立其他新用户

[root@foundation66 Desktop]# vim /etc/sudoers  不对此文件进行编辑,编辑后不提供语法检测
[root@foundation66 Desktop]# visudo   直接使用visudo进行更改 提供语法检测 设定是否合理不提供

在文件内编辑一定要规范书写

hostname 命令查看当前主机名称
进入visodu 书写以下内容

Allow westos  to run  useradd on workstation.lab.example.com
westos   workstation.lab.example.com=(root)   /usr/sbin/useradd 

useradd 直接无法建立 需调用sudo useradd lee 即可建立新用户
首次创建新用户要输入当前用户密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

免密创建用户及可删除用户
退出到超级用户进入visudo

westos workstation.lab.example.com=(root)  NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel

在这里插入图片描述
在这里插入图片描述

命令别名设定 :

  Cmnd_Alias    OLDLEE=/usr/sbin/useradd, /usr/sbin/userdel
  westos workstation.lab.example.com=(root)  NOPASSED:  DLDLEE
  :wq(保存)
 再次执行 sudo   userdel  -r   lee   删除用户

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
用户别名设定

输入  User_Alias DLDLEE_USER=westos, lee
更改命令设定名称  DLDLEE_USER  workstation.lab.example.com=(root)  NOPASSED:  DLDLEE

:wq退出保存设定完成后两个用户都可去执行DLDLEE集合里面的命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值