Linux基础的用户管理(3)

一、用户和组的相关操作及意义

用户的意义–保证系统的安全;回收限制权力

用户组的意义–开放共享权力

1.用户的查看
whoami ##查看当前用户
在这里插入图片描述
id + 用户名 ##查看指定用户id信息
id -u ## 用户uid
id -g ##查看用户gid,初始组
id -G ##查看用户所在所有组(附加组)
id -n ##显示名字而不显示id
id -nG ##所在组的所有名字,包括附加组
在这里插入图片描述
2.用户在系统中的存储方式

(1)用户信息文件:/etc/passwd

格式: 用户名称:密码:uid:gid:说明:家目录:默认shell(用户和系统交互时用到的shell)

例: student:x(占位符):6666:2530(不能超过6万,即2^32):hello:/home/westos:/bin/bash

注:输入cat /etc/shells,可以查看系统默认shell的指定有哪些
/sbin/nologin 和 /usr/sbin/nologin ##不提供交互界面
(2)用户组信息文件: /etc/group
格式: 组的名字:组密码:组id:组成员
(3)用户认证信息文件: /etc/shadows

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

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

监控/etc/shadow配置文件
命令: watch -n 1 tail -n 3 /etc/shadow
在这里插入图片描述

用户密码最后一次被更改的时间:

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

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

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

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

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

用户到期日
chage -E 2019-11-11 dy ##dy用户在2019-11-11日会被冻结

(4) 默认开启shell的配置,用户的骨文件:/etc/skel/.*

(5)用户的家目录: /home/username

3.用户的切换
(1)gnome-session-quit ##注销当前用户再用其他用户登陆
gnome-session-quit --force ##注销当前用户不提示
(2)su - 用户名称 ##切换用户
此命令中,“-”表示在用户身份切换时同时切换当前的用户的环境,不加 “- ”只切换身份不切换环境。
高级–>低级:不需要密码
低级–>高级:需要密码
平级切换:需要密码
注意:每次切换到其他用户操作之后必须退出,然后再次切换到其他用户,保持最多两层。

4.用户管理命令

(1)watch date ##监测时间

watch -n 1 date ##监测时间每一秒刷新一次

用户信息监控命令:

watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home/’

(2)用户建立
useradd username ## 建立用户,建立时读取/etc/login.defs文件内容确定规则

useradd -u 2222 username ##指定用户uid

useradd -g 21 username ##指定用户初始组id,“21的用户组必须存在”
在这里插入图片描述
(3)用户的删除:uesrdel

userdel username ##删除用户但是不删除用户的配置文件

userdel -r username ##删除用户并删除用户的配置文件

(4)用户组建立

groupadd usergroup ##建立用户组

groupadd -g 6666 usergroup ##建立用户组并指定用户的ID

groupdel usergroup ##删除用户组
在这里插入图片描述

useradd -G 21 username ## 指定用户的附加组id,“21用户组必须存在”

useradd -c “hello” username ##指定用户的说明

useradd -d /home/hello username ##指定用户的家目录

useradd -s /bin/sh username ##指定用户的默认shell
在这里插入图片描述
在这里插入图片描述
(5)更改用户信息
usermod -aG 72 dy ##添加用户的附加组
-G是更改,-aG是添加,用-aG可以使用户同时是两个及以上组的附加组

usermod -G “” dy ##删除用户所有附加组
这是两个双引号,也可以使用两个单引号,表示里面是空

usermod -c “myself” westos ##指定用户说明文字 在登入用户时用户显示是myself

usermod -d /home/clb dy ##更改用户家目录的指向 切换账户后可以用pwd看家目录

usermod -md /home/lee dy ##更改用户家目录

usermod -s /bin/sh dy ##更改用户的shell 可用的shell可以用 cat /etc/shells查看

usermod -L dy ##冻结用户
usermod -U dy ##解锁用户
注:冻结用户前记得给用户密码 passwd westos
不设置密码用户也不会在登陆界面显示

(6)更改用户密码
passwd dy ##更改dzh密码
passwd -l dy ##在用户密码前加入"!!"
passwd -u dy ##去掉用户密码前的"!!"
usermod -L dy ##在用户密码前加入"!"
usermod -U dy ##在密码不为空时使用
passwd -d dy ##清空westos密码
(注:普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合)

二、用户授权

1.权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但是不提供语法检测
也可以使用visudo编辑此文件,visudo命令提供语法检测

2.下放方式
visudo
100行左右

用户 主机名称=(得到的用户身份 命令
tom localhost=(root) /usr/sbin/useradd ##tom用户可以在localhost主机以root用户身份执行useradd命令
tom localhost=(root) NOPASSWD: /usr/sbin/useradd ##tom用户可以在localhost主机以
##root用户身份免密执行useradd命令

3.测试
su - student
sudo useradd hello
用sudo进行/etc/sudoers的调用

实验:
先用超级用户建立用户tom,再用tom用户建立新用户harry,发现没有权限

用vidudo命令,赋予用户tom可以在localhost主机以root用户身份执行useradd命令

第100行是为了代码规范,写了一个注释
第101行是命令代码,注意主机名可以用hostname进行查询

给tom用户设定一个密码,因为他在创建用户的时候需要密码,切换到tom用户,建立hello用户,用id检测,创建成功

用visudo给用户tom一个免密权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值