• 2.6【七天学好Linux】第六天 用户和组的管理


    系列文章传送门:

    教你如何在VMware上创建虚拟机以及安装Linux操作系统

    【八天带你入门Linux】第一天 Linux目录结构与文件类型

    【八天带你入门Linux】第二天 Linux中用命令行管理文件

    【八天带你入门Linux】第三天 Linux文件显示与命令处理

    【八天带你入门Linux】第四天 Linux文件的操作命令

    【八天带你入门Linux】第五天 Linux命令解释器Shell

    【八天带你入门Linux】第六天 Linux用户和组的管理

    【八天带你入门Linux】第七天 Linux磁盘管理

    【八天带你入门Linux】第八天 Linux文件权限与网络管理

    文章目录:

    一、用户和组的分类

    二、用户的管理

    三、用户组的管理

    四、查看

    五、看用户登陆系统的情况

    六、思维导图

    一、用户和组的分类

    (一)用户的三类

    1、超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要 情形下才用超级用户登录,以避免系统出现安全问题。

    2、系统用户(伪用户)——是Linux系统正常工作所必需的用户。主要是为了满足相应的系统进程对 文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。系统用户不能用来登录。

    3、普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

    (二)组的两类

    1、基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。

    2、附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

    (三)用户和组的配置文件

    1、用户账号文件   /etc/passwd

    2、用户密码文    /etc/shadow

    3、用户组账号文件    /etc/group

    4、用户组密码文件   /etc/gshadow

    二、用户的管理

    (一)创建用户:useradd [选项]  用户名

    常用选项:

    -p  :指定用户的登陆密码

    -u  :指定用户的用户号(账号的UID)

    -d  :指定家目录

    -g  :指定所属组

    看用户信息:id  用户名

    (二)修改用户信息:usermod [选项] 用户名

    -L  :锁定用户,使其不能登陆

    -U :解锁用户

    (三)为用户设密码:passwd  用户名(必须设置密码后才能登陆)

    -e :使用户密码立即过期

    -l :锁定用户

    -u:解锁用户

    -x:指定密码的最长使用期限

    快捷改密码:echo 123456 | passwd --stdin 用户名

    (四)删除用户:userdel -r 用户名

    -r :删除用户时,一并删除该用户对应的主目录

    (五)用户的切换:su - 用户

    (六)控制用户对系统命令的使用权限:sudo -u 用户 命令

    sudo的执行流程如下(默认只有root用户能使用):

    当用户执行sudo时,便会让用户输入自己的密码来确认(root执行sudo时不需要输入密码);

    若欲切换的身份与执行者身份相同,那也不需要输入密码。

    若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限;

    若用户具有执行sudo的权限,便开始sudo后续接的命令;

    (七)配置/etc/sudoers文件的方式:vim /etc/sudoers

    在 root  ALL=(ALL)  ALL  下面加: zqk  ALL=(ALL)  ALL

    授权规则: 授权用户 主机=(切换到的用户) 命令动作

    别名规则:首字母大写

    三、用户组的管理

    (一)创建用户组:groupadd [-r] 用户组名称

    -g GID——指定新用户组的组标识号(GID),默认值是已有的最大的GID加1。

    (二)修改用户组属性: groupmod 选项 用户组

    g GID——为用户组指定新的组标识号。

    -n 新用户组——改新名字

    (三)添加/删除组成员: gpasswd [选项] 用户 用户组

    只有root用户和组管理员才能够使用该命令。

    -r——删除组密码

    -a——把用户加入组

    -d——把用户从组中删除。

    -M——可同时添加多个用户

    -A——给组指派管理员。

    (四)删除组账户: groupdel 用户 组名

    四、查看

    1、id +用户名:显示出某用户的详细信息

    2、groups +用户名:显示出用户所属组的信息

    五、看用户登陆系统的情况

    1、查看当前登录系统的用户:users

    2、显示最近的两条登录信息:last -2

    3、显示文件中最近的两条登录信息:last -f 文件路径 -n 3  

    (lastlog该命令会读取/var/log/lastlog文件)

    4、显示登录到系统的用户信息:w

    5、显示目前登录到系统的用户:who

    (who通常通过/var/run/utmp文件来获取信息 )

    六、思维导图

    7d1f78a99b1b4abfa8f29a0419317161.png

    七、相关练习

    1、创建mygroup组,group组,GID为600的temp组及组id为40000的adminuser组。

    8b0510fcd44541aa923eb74c83b3521f.png

     2e87b2a4306440c38c593d71dca81534.png

    2、创建myuser用户属于mygroup组群,接着以myuser身份登录,创建ex和hv两个文件于/home/myuser目录,并使hv文件的同组用户是root。请依次写出相应执行的命令。

    24e2875f328e4d1b894bd6651a8db927.png

    3、添加一新用户helen并设置其用户主目录/helen,密码为空,并将temp组群作为用户helen的附加组群。 请依次写出相应执行的命令。

    bcaa520b9f254290a34a6b6569193a98.png

    4、创建用户user,密码为“a1b2c3”,并将其加入group组群。

    f1b2b904d0a646b4bc2f5793754f8045.png

    5、新建一个名为sarah的用户,不属于adminuser组,并将其shell设置为不可登陆shell。

    17ddae5acd164f5fad16123a740971b2.png6、创建alex用户,使alex用户满足以下要求:用户id为3456,描述名为alian,密码为glegunge,附属组为group。

    da051eb3b4b34978917c36faecb899a4.png

    7、创建 admin用户,无密码,描述为teshu,设置基本组为temp。

    0fd986153e17436691711c0291f5e832.png

    都看到这里了,创作不易,大家点个赞再走呗!!( ˃̶̤́ ꒳ ˂̶̤̀ )

  • 相关阅读:
    redis 持久化
    RK3568开发笔记(九):开发板buildroot固件调通RS485口,运行项目中RS485协议调试工具Demo
    Go基础语法:切片
    【进程管理】认识系统调用函数fork
    【C++入门指南】类和对象(上)
    「PAT乙级真题解析」Basic Level 1099 性感素数 (问题分析+完整步骤+伪代码描述+提交通过代码)
    Spring Cloud 之 Feign 简介及简单使用
    扬帆际海:如何度过shopee销量瓶颈期?
    Docker 容器中的网络优化与 DNS 缓存清理
    git进阶
  • 原文地址:https://blog.csdn.net/m0_70464577/article/details/127580488