浅谈Linux用户管理

Linux用户管理

准备工作:

在管理用户时,执行命令后是无法看到效果的,最开始我们可以通过系统监视命令来对用户信息进行监控,使操作步骤可视。

watch -n 1 'tail -n3 /etc/passwd;ls -l /home/' 

注释:

部分 含义
watch -n 1 表示监控刷新频率
tail -n 3 查看用户信息最后三行
/etc/passwd 用户信息地址
ls -l /home/ 查看命令的方式

在这里插入图片描述

1.用户存在的意义

回收权利

2.组存在的一意义

共享权利

3.用户的查看

1)查看当前用户

whoami		##查看当前用户

在这里插入图片描述

2)系统中用户的查看

id 用户名 		##查看指定用户id信息
id	-u	##查看用户的uid
id	-g	##查看用户的gid,初始组
id	-G	##查看用户所在的所有组的id
id	-n	##显示名字而不显示id数字
id -nG  ##所在组的所有名字,包括附加组

在这里插入图片描述

4.用户切换

gnome-session-quit ##注销当前用户再用其他用户登陆
gnome-session-quit --force ##注销当前用户不提示

su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户,保持最多两层。
在这里插入图片描述
在这里插入图片描述

5.用户在系统中的存储方式

  • 用户信息文件:/etc/passwd

    用户名称:密码:uid:gid:说明:家目录:默认shell
    在这里插入图片描述
    例:zozi:x(占位符);1001:1001(不能超过6万,即2^32)::/home/zozi:/bin/bash

“说明:默认shell的指定有哪些可以查看系统中/etc/shells文件”
在这里插入图片描述

  • 用户组信息文件:/etc/group
    组的名字:组密码:组id:组成员
    在这里插入图片描述

  • /etc/shadows:认证信息文件

  • /etc/skel/.*
    默认开启shell的配置,用户的骨文件

  • /home/username:用户的家目录

6.用户管理命令

1)用户的删除

userdel student		##删除用户但不删除用户的配置文件
userdel -r student	##删除用户并删除用户的配置文件

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

2)用户建立

命令 解释
useradd username 建立用户,建立用户时读取/etc/login.defs 文件内容确定规则
useradd -u 8888 username 指定用户uid
useradd -g 21 username 指定用户初始组id,“21用户组必须是存在的”
useradd -G 21 username 指定用户的附加组id “21用户组必须存在”
useradd -c “hello” username 指定用户的说明
useradd -d /home/lee username 指定用户的家目录
useradd -s /bin/sh username 指定用户的默认shell

在这里插入图片描述

命令 解释
groupadd 建立用户组
groupadd -g 888 username 建立用户组并指定用户组的id
groupdel 删除用户组

在这里插入图片描述

3)更改用户信息

usermod
命令 用途
usermod -l 新名称 one 更改用户的名称
usermod -u 5555 one 更改用户uid
usermod -g 21 one 更改用户的初始组
usermod -G 21 one 更改用户的附加组
usermod -aG 72 one 添加用户的附加组
usermod -G “” one 删除用户所有附加组的身份
usermod -c “hehe” one 指定用户说明文字
usermod -d /home/lee one 更改用户家目录的指向
usermod -md /home/lee one 更改用户家目录
usermod -s /bin/sh one 更改用户的shell
usermod -L one 冻结用户
usermod -U one 解锁用户

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

4)用户认证信息

/etc/shadow ##记录用户认证信息

one:!!:17895:0:99999:7: : :

在这里插入图片描述
此文件一共有九列:
[1]
one:用户名称
[2]
!!:用户密码
(用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”那么用户被冻结)
[3]
17895:用户密码最后一次被更改的时间
(此时间计算是从1970-1-1开始计算的累计天数)
[4]
0:用户密码最短有效期
(如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的)
[5]
99999:用户密码最长有效期
(用户必须在此有效期内更新密码,如果超时会被冻结)
[6]
7:密码警告期限
(在过期前制定天数内会发送警告信息给用户)
[7]
:用户非活跃天数
(此位默认为空,如果有设定数值,那么在密码最长有效期过后仍然可以使用的天数)
[8]
:用户到期日
(默认为空,表示帐号一定会被冻结的时间点)
[9]
(用户自定义列,目前没有启用)

passwd -S one ##查看one用户密码信息

用户名称
用户密码
passwd one     ##更改one用户密码
passwd -l one  ##在用户密码前加入“!!”
passwd -u one  ##去掉密码前的!
usermod -L one ##在用户密码前加入“!”
usermod -U one ##在密码不为空时使用
passwd -d one  ##清空one用户的密码

在这里插入图片描述
在这里插入图片描述
注意
普通用户改密码时
1.必须知道当前永久原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或者纯字母
4.密码不能是有序的字母和数字的组合

用户密码最后一次被更改的时间
passwd -e one  ##会改变用户最后一次更改密码时间为0,用户在登陆时会被强制更改密码
chage -d 0 one ##两个命令功能类似

在这里插入图片描述

用户密码最短有效期
passwd -n 1 one   ##one用户在1天之内不能修改密码
chage -m 1 one

在这里插入图片描述

用户密码最长有效期
passwd -x 30 one   ##设定one用户在30天内必须改密码
 chage -M 40 one

在这里插入图片描述

密码警告期限
passwd -w 2 one    ##密码过期前两天有警告输出
 chage -W 2 one 

在这里插入图片描述

用户非活跃天数
passwd -i 1 one ##密码过期后仍然可以登陆系统的天数
chage -I 1 one

在这里插入图片描述

用户到期日
chage -E 2019-1-1 one #one用户在2019-1-1会被冻结

在这里插入图片描述

用户自定义列,目前没有启用

5)用户授权

1.

权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但是不提供语法检测
也可以用visudo编辑此文件,visudo命令是提供语法检测的(一般建议用此方法)

2.下放方式

*visudo
100行左右

用户 主机名称=(得到的用户身份) 命令
tom localhost=(root) /usr/sbin/useradd
tom localhost=(root) NOPASSWD: /usr/sbin/useradd

在这里插入图片描述

3.测试

su - tom
sudo useradd hay
在这里插入图片描述

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试