linux的用户管理基础操作

用户管理

1.用户存在的意义

维护系统的安全;用户概念在系统中是系统安全机制的一部分。

2. 组存在的一意义

可以通过设置权限达到共享和开放权力的目的,方便了系统的管理。

3. 用户的查看

1)查看当前用户
whoami   查看当前用户
2)系统中用户的查看
id  查看指定用户id信息, uid是自己的id, gid是组id , groups是所有自己加入的组的id. 最初的组是初始组

命令 作用
id -u 查看用户的uid
id -g 查看用户的gid
id -G 查看用户所在的所有组的id
id -n 显示名字而不显示id数字,与其他命令联合使用

在这里插入图片描述

4. 用户切换

su - 用户名称    改变了用户名称和用户环境
su 用户名称    只改变用户的名称,未改变用户环境。
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要。
在这里插入图片描述
图中可以看出目前是在root用户下,但当前环境仍在student.

**注意**:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户可以使用exit退出当前的用户。切换用户后要使用exit或logout或 ctrl+D再切换到另一个用户。

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

文件名称 文件位置 文件格式
用户信息文件 /etc/passwd 用户名称:密码:uid:gid:说明:家目录:默认shell
用户组信息文件 /etc/group 组的名字:组密码:组id:组成员
认证信息文件 /etc/shadows
默认开启shell的配置,用户的骨文件 /etc/skel/.
用户的家目录 /home/username

我们为了可以方便查看可以使用watch -n 1 ‘tail -n 4 /etc/passwd  /etc/group‘监控用户信息文件和用户组信息文件。

6. 用户管理命令

1)用户的删除
userdel
userdel  student    删除用户但不删除用户的配置文件
userdel -r student   删除用户并删除用户的配置文件
2)用户建立
用户信息监控命令
watch -n 1 ‘tail -n 3 /etc/passwd  /etc/group;ls -l /home’
用户名称:密码:uid:gid:说明:家目录:默认shell
        -u  -g  -c  -d    -s

useradd    创建用户时,读取/etc/login.defs 文件内容确定规则
useradd  -u  8888  westos   指定用户uid 默认从1000开始
useradd  -g  21 westos    指定用户初始组id,“21用户组必须是存在的”
useradd  -G  21  westos    指定用户的附加组id ,“21用户组必须存在”
在这里插入图片描述
useradd  -c  “hello”  westos   指定用户的说明
useradd  -d /home/lee  westos  指定用户的家目录
useradd  -s  /bin/sh  westos   指定用户的默认shell
在这里插入图片描述
groupadd       建立用户组
groupadd  -g  888    建立用户组并指定用户组的id
在这里插入图片描述
groupdel       删除用户组
3)更改组名信息
groupmod  -g  id  westos    可更改id
在这里插入图片描述
更改用户信息;
usermod
usermod  -l 新名称 westos    更改用户的名称
usermod  -u  6666  westos    更改用户uid
usermod  -g  21 westos     更改用户的初始组
usermod  -G  21 westos     更改用户的附加组,原本附加组将消失
usermod  -aG  72  westos     添加用户的附加组
在这里插入图片描述
usermod  -G “” westos      "“中为空则删除用户所有附加组的身份(将要保留附加组写在”"中)
usermod  -c  “hahahah”  westos   指定用户说明文字
usermod  -d /home/lee westos   更改用户家目录的指向
在这里插入图片描述
usermod  -md  /home/lee westos  更改用户家目录
usermod  -s  /bin/sh westos    更改用户的shell
在这里插入图片描述

7. 记录用户认证信息

此文件一共有九列:
用户名称:用户密码:用户密码最后一次被更改的时间(-e):用户密码最短有效期(-n):用户密码最长有效期(-x):密码警告期限(-w):用户非活跃天数(-i):用户到期日(-E):用户自定义列,目前没有启用
passwd  -S  westos    查看westos用户密码信息
tail -n 3  /etc/shadow;   查看westos用户密码信息
新用户的初始密码为!!

  • 用户名称
    用户密码    passwd
    passwd  westos     更改westos密码
    passwd   -l westos    在用户密码前加入“!!”
    在这里插入图片描述
    passwd   -u westos    去掉用户密码“!!”
    在这里插入图片描述
    usermod  -L  westos   在用户密码前加入“!”
    usermod  -U   westos   在密码不为空时使用,去掉密码前!(使用两次可以和usermod  -u  westos效果相同。)
    passwd  -d  westos    清空westos密码
    在这里插入图片描述
    使用一般用户修改一下密码,会有很多限制。
    注意:
    普通用户改密码时
    1.必须知道当前永久原始密码
    2.密码不能和帐号名称相似
    3.密码不能是纯数字或纯字母
    4.密码不能是有序的字母和数字的组合

  • 用户密码最后一次被更改的时间
    passwd  -e  westos    会改变用户最后一次更改密码时间为0,且用户在登陆时会被强制更改密码
    chage  -d  0  westos    与passwd -e westos 功能类似

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

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

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

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

  • 用户到期日
    chage  -E  2018-11-11  westos    westos用户在2018-11-11日会被冻结

8. 权力下放

(1)权力下放文件/etc/sudoers
可使用vim直接编辑,但无语法检测
也可使用visudo有语法检测
(2)下方方式
visudo
100行左右
用户 主集名称=(得到的用户身份) 命令
tom localhost=(root) /usr/sbin/useradd
tom localhost=(root) NOPASSWD:/usr/sbin/useradd tom用户在主机下以root身份无密执行useradd。
在这里插入图片描述
(3)测试
su - tom
sudo useradd hello
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43328213/article/details/82955016