Linux云计算架构-用户及用户组管理

Linux云计算架构-用户及用户组管理

在生产环境中,大多数时候使用RHEL7或者其他的linux系统时,都可能是有多人同时操作。而设计linux系统的初衷即是为了满足多用户同时工作的需求

root用户:拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户、启动/关闭服务进程、开启/禁用硬件设备等。

若直接使用root用户,若执行了错误的命令,很可能直接使得整个系统崩溃。

故建议以普通用户给的身份登录系统:即拥有能满足工作需求的最小权限的用户。

对系统的每个用户而言,都要为其登记信息,其用户ID即是UID,还要登记其所属组IDGID

在RHEL7中,用户身份有:

  • 管理员:系统管理员,UID=0,常见的UID=0的用户名为root用户,故常把root用户称作是系统管理员。
  • 系统用户:Linux系统为了避免因某个服务程序出现漏洞而影响到整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制系统被破坏的范围。UID=1~999【系统用户用于运行服务,不会用来登录系统】
  • 普通用户:由管理员创建的用于日常工作的用户。UID>=1000。【UID的范围并不代表UID在0<UID<1000的用户就一定不是普通用户,仅仅只是这样分类比较好】

权限的分配可以按照用户(每个人)分配,也可以按照所属组(部门)进行分配。

每个用户在创建的时候,默认会创建同名的基本用户组,自成一组。若该用户加入其他组,那么其他组就是该用户的拓展用户组。一个用户只有一个基本用户组,但可以有多个拓展用户组。

1. 用户管理命令

1. 查看用户信息

id 用户名
在这里插入图片描述

2. 添加用户

useradd命令

参数 作用
-d 指定家目录
-e 账户到期时间,YYYY-MM-DD
-M 不创建用户家目录,常用于系统用户
-u uid
-g 指定一个已存在的基本用户组,不指定默认创建同名基本用户组
-G 指定一个或多个拓展用户组
-N 不创建同名基本用户组
-s 指定shell解释器
-p 指定用户密码,默认无密码,且账户密码被锁定

在这里插入图片描述

# 从以下命令可以看出,adduser也是可以添加用户的,是useradd的软连接,知道即可。
[root@master ~]# which useradd 
/usr/sbin/useradd
[root@master ~]# which adduser
/usr/sbin/adduser
[root@master ~]# ll /usr/sbin/useradd
-rwxr-x---. 1 root root 118232 10月 31 2018 /usr/sbin/useradd
[root@master ~]# ll /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 6月  23 17:47 /usr/sbin/adduser -> useradd

3. 添加组

命令:groupadd [-g] group_name
不指定gid,则gid默认从10000开始,可以通过/etc/group文件查看gid
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 修改用户信息

usermod命令
命令useradd中的参数都可以使用,作用都变为重置为或者变更
补充参数:
-L:锁定用户,禁止登录系统
-U:解锁用户,允许其登录系统
-d -m:参数连用,变更家目录并做数据迁移
-p:设置用户密码并解锁用户密码
在这里插入图片描述
将shell解释器修改为/bin/bash后,用户linux2已经可以登录系统了。
可通过命令passwd -S 用户名查看用户是否被锁住。
在这里插入图片描述

5. 修改组信息

groupmod命令

修改基本用户组linux1的gid
groupmod -g 5555 linux1
在这里插入图片描述
在这里插入图片描述

6. 删除用户

userdel命令
查看文件/etc/passwd,有以下无用的用户要删除。
在这里插入图片描述
-r:删除用户的同时,删除该用户家目录和用户文件。
在这里插入图片描述
在这里插入图片描述

7. 删除组

groupdel命令
若一个组是某一个用户的基本用户组,则不允许删除该组。
groupdel 组名

8. 用户密码设置

passwd命令

  • 管理员用户可以修改所有人的密码,不需要旧密码验证。
  • 普通用户只能修改自己的密码,需要旧密码验证。
参数 作用
-S 查看用户是否被锁定以及密码采用的加密算法名称
-l 密码锁定
-u 密码解锁
-d 允许空密码登录
-e 强制下次登陆要修改密码
–stdin 允许通过标准输入修改用户密码【echo "123456" | passwd --stdin abong

9. 修改设置密码的时间

[root@master ~]# chage
用法:chage [选项] 登录

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期INACTIVE天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”


# 设置0天后要修改密码,即下次登录就修改密码
[root@master ~]# chage -d 0 abong

10. 其他命令

# id 用户和组的信息
[root@master ~]# id abong
uid=1000(abong) gid=1000(abong)=1000(abong)

# whoami #查看当前有效用户名
[root@master ~]# whoami
root

# who 显示目前登入系统的用户信息。
[root@master ~]# who
root     :0           2020-07-02 18:56 (:0)
root     pts/0        2020-07-02 18:57 (:0)

# users用于显示当前登录系统的所有用户的用户列表
[root@master ~]# users
root root

2. 常见用户文件

  • /etc/passwd:存放用户信息【一行由7个部分,其中口令只是一个描述符,不是真实的密码。】
    用户名:口令:uid:gid:注释信息:家目录:shell解释器

  • /etc/shadow:存放用户的密码【权限是000,但是root除外】【一行由9个部分组成,其中加密口令是指经过md5加密的口令】
    用户名:加密口令:最后一次修改时间:密码修改的最小时间间隔(不能改):密码修改的最大时间间隔(必须改):警告时间:不活动时间:失效时间:标志

  • /etc/group:存放用户的组信息
    组名:密码:gid:用户列表

  • /etc/default/useradd:存放创建用户的默认参数值,一般不修改该文件。

    # 创建用户的默认配置文件
    [root@master ~]# cat /etc/default/useradd 
    # useradd defaults file
    GROUP=100   # users组ID为100
    HOME=/home  # 默认在该目录下创建家目录
    INACTIVE=-1  # 密码是否会过期,-1则会过期
    EXPIRE=   # 密码过期时间
    SHELL=/bin/bash  # 用户默认的shell
    SKEL=/etc/skel  # 模板目录
    CREATE_MAIL_SPOOL=yes  # 是否创建邮箱文件
      
    [root@master ~]# cat /etc/group | grep users
    users:x:100:
    
  • /etc/login.defs:存放创建用户的一些默认参数值,一般不修改该文件。

3. 批量创建用户

  1. 编辑文本用户文件,格式与/etc/passwd相同,后缀为txt,如user.txt
    在这里插入图片描述

  2. 以root用户执行newusers < user.txt,执行之后可在/etc/passwd中看到用户信息
    在这里插入图片描述在这里插入图片描述

  3. 执行pwunconv命令。【/etc/passwd中的口令通过pwconv命令加密成为/etc/shadow中的加密口令,而pwunconv可将/etc/shadow中的加密口令解码回写入/etc/passwd对应的密码中】【即取消shadow password功能】
    在这里插入图片描述
    在这里插入图片描述

  4. 编辑密码对照文件,格式:用户名:密码,后缀为txt,如passwd.txt
    在这里插入图片描述

  5. 以root用户执行chpasswd < passwd.txt,即将密码通过chpasswd命令写入到文件/etc/passwd中,可查看该文件进行检查,此时的密码未加密。
    在这里插入图片描述
    在这里插入图片描述

  6. 执行pwconv命令。【对/etc/passwd文件中的密码进行加密处理,并写入到/etc/shadow文件中,而/etc/passwd中的口令再次变成变符号x】
    在这里插入图片描述在这里插入图片描述

  7. 从下图可以看出,新添加的用户user1和user2已经可以正常登录使用了。
    在这里插入图片描述

以上就是用户以及用户组管理的全部内容了,感谢各位的关注和点赞!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章