RHEL8.0快速入门系列笔记--Linux用户和组管理(六)

RHEL8.0快速入门系列笔记–Linux用户和组管理(六)

本小节的内容将为大家介绍一下Linux中用户和组的相关知识,首先作一些理论储备。

理论储备

一、Linux下用户管理

(一)用户概念及作用(了解)

用户指的是Linux操作系统中用于管理系统或者服务的人
一问:管理系统到底是管理什么?
答:Linux下一切皆文件,所以用户管理的是响应的文件
二问:如何管理文件呢?
答:
1.文件基本管理,比如文件的创建、删除、复制、查找、打包压缩等;文件的权限增加、减少等;
2.文件高级管理,比如程序文件的安装,卸载、配置等,终极的是对外提供稳定的服务。

(二)用户的分类(了解)

1、超级用户

  • 超级用户,也叫管理员,root,该用户(root)具有所有权限,UID=0并且绝对只能是0。

2、系统用户

  • 系统用户,也叫程序用户,一般都是由程序创建,用于程序或者服务运行时候的身份。
  • 默认不允许登录系统。1<=UID<=499
  • 比如后面我们要接触到的web服务器管理用户apache,文件共享ftp服务的管理ftp等。
    注意:CentOS7/RHEL8.0中,系统用户UID范围1<=UID<=999

3、普通用户

  • 普通用户,一般是由管理员创建,用于对系统进行有限的管理维护操作
  • 默认可以登录系统。5000<=UID<=60000
    注意:CentOS/RHEL8.0中,普通用户UID范围1000<=UID<=60000

特别说明:
1.用户指的是操作系统上管理系统或服务的人,是人,就有相关的属性信息。
2.用户的属性信息包括但不限于,如:家目录、唯一身份标识(UID)、所有组(GID)等
3.今天我们讨论的用户指的是普通用户,即管理员创建的用户。

(三)用户的基本管理

1、创建用户(useradd)
[1] 基本语法和选项

useradd  [选项]  用户名
常用选项
-u:指用户uid,唯一标识,必须唯一
-g:指定用户的默认组(主组)
-G:指定用户的附加组(一个用户可以加入多个组,但是默认组只有一个)
-d:指定用户的家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
-s:指定用户的默认shell

查看系统支持的shell(命令解释器)
[root@redhat~ ]# cat /etc/shell
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

其他shell:
/sbin/nologin        不能登录操作系统,也叫非交互shell
/bin/dash

举例练习

[root@rhel8 home]# useradd stu1				创建用户stu1
[root@rhel8 home]# id stu1				查看用户信息
uid=1001(stu1) gid=1001(stu1) 组=1001(stu1)

2、用户密码设置(passwd)

passwd  用户名			表示给指定用户修改密码
passwd  直接回车		表示给当前用户修改密码

[root@rhel8 ~]# passwd stu1
更改用户 stu1 的密码 。
新的 密码:		[直接输入要修改的密码]
重新输入新的 密码:		[再次输入要修改的密码]
passwd:所有的身份验证令牌已经成功更新。

说明:
1.管理员root可以给任何用户修改密码
2.普通用户可以自己给自己修改密码,但是密码复杂度要符合要求。

[root@redhat~ ]# echo 123|passwd --stdin stu2
更改用户stu2的密码,
passwd:所有的身份验证令牌已经成功更新。

说明:使用这种方法不用交互可以直接设置成功,一般用于脚本中。

[1] 保存用户信息文件

1.用户信息保存文件/etc/passwd
了解相关配置文件内容,可以通过求man文档解决,即man 5 passwd
以冒号:分割为7列,如下:
account      -->  stu1      用户名称
password     -->  x			密码占位符,实际密码单独存放在另一个文件中,
UID          -->  501       用户ID
GID          -->  501       组ID
GECOS        -->            用户自定义,描述说明
directory    -->            /home/stu1    用户家目录
shell        -->            /bin/bash用户的默认shell,其中/sbin/nologin表示非交互,不能登录系统   

2.用户密码信息保存文件/etc/shadow
了解相关配置文件内容,可以通过求man文档解决,即man 5 shadow
以冒号:分割为9列,如下:
login name
登录的用户名
encrypted password
加密后的密码:!!表示空密码,没有设置密码    
date of latst password change
最后一次更改密码的天数(距离1970年的1月1日到现在的天数)
minimum password age
密码的最小生存周期,0表示可以立刻修改密码,如果是3,表示3天后才能修改密码
maximum password age
密码的最大生存周期,如果是30表示每隔30天更换一次密码。
password warniing period
密码过期前几天发出告警,7表示过期前7天开始告警
password inactivity periiod
密码的宽限期,如果3表示允许密码过期3天,3天内还能登录系统,但要求修改密码,3天后(密码过期3天后账号被封锁,需要联系管理员) 
account expiration date
账户过期时间,账户过期的用户不能登录;密码过期用户不能用原来的密码登录,以1970年1月1日算起
reserved field
保留

[2] 更改用户的账号信息(chage)

chage --help
-d        修改用户最后一次更改密码的时间
-m       修改密码的最小存活期(几天后才能修改密码)
-M       修改密码的最大存活期(每隔多少天更改一次密码)
-W       修改密码过期前警告(过期前几天发出警告)
-I         需改允许密码过期几天
-E        修改账户过期时间
-l         列出账户信息  

举例说明:
(1)查看用户账号的相关信息命令:
[root@rhel8 ~]# chage -l stu1
最近一次密码修改时间		    	:2月 04, 2020
密码过期时间					    :从不
密码失效时间				 	    :从不
帐户过期时间					    :从不
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	        :7
(2)修改用户账号的过期时间为10天以后
[root@redhat~ ]# chage -E $(date +%F -d '+10days') stu1

3、修改用户信息(usermod)
[1] 基本语法选项

usermod [选项]  用户名
常见选项:
-u 指用户uid,唯一表示,必须唯一
-g 指定用户默认组(主组)
-G 指定用户附加组(一个用户可以加入多个组,但是默认只有一个)
-d 指定用户家目录(每个用户都有自己的家目录,并且默认在/home/xxx)
-s 指定用户默认shell

4、用户删除(userdel)
[1]基本语法

userdel [选项] 用户名
选项:
-r  删除用户并且移除其家目录和邮箱
-f  强制删除正在登陆的用户

举例说明:
创建完用户后,家目录默认在/home/用户名;用户的邮箱在/var/spool/mail/用户名
1.删除stu1用户及家目录
[root@redhat ~]# userdel -r stu1

二、Linux组管理
(一)组和用户的关系(理解)
**核心:**组的目的是为了方便管理用户

  • 用户是操作系统上管理维护系统或服务的人
  • 组是用户的一个属性信息
  • 任何一个用户默认都会有一个主组(默认组)
  • 一个用户除了主组也可以有多个其他组,(附加组)

**一问:**用户的主组和附加组到底是啥关系?
答:用户的主组和附加组没有任何关系
**二问:**那要这个主组或者附加组有啥用?
答:肯定是有用的,组的目的是党鞭管理用户,用户的目的是管理操作文件,文件就有权限这个属性。
1.用户要操作一些文件,文件是由用户来创建的,不同用户创建的文件的属性信息也不一样。
2.文件的属性都是啥?比如:文件的创建者,文件属于哪个组,文件大小,文件创建时间等。
3.其中,不同用户所创建的文件的属组就是该用户的主组(默认组)
4.A用户附加组也有可能,是其他用户的主组,道理同上(权限章节再细细体会组的作用)
(二)组的管理(掌握)

1、创建组(groupadd)

[1] 基本语法

groupadd [选项] 组名
常用选项:
-g  指定组的(GID),默认唯一

[2] 举例说明

1.创建一个amin组
[root@redhat ~]# groupadd admin
2.查看组信息
[root@redhat ~]# tail -l /etc/group
admin:x:506:
说明:关于/etc/group配置文件说明,可以man 5 group找帮主
3.创建一个组sysadmin,组ID设置文1200
[root@redhat ~]# groupadd -g 1200 sysadmin

2、删除组(groupdel)

groupdel 组名		删除组
[root@redhat ~]# groupdel admin
[root@redhat ~]# groupdel stu2
groupdel: cannot remove the primary group of user 'stu2'
注意:以上信息说明不能删除属于其他用户的组

3、组成员的管理(gpasswd)
[1] 基本语法

gpasswd [选项] 组名
常见选项:
-a        添加用户到组
-d        从组中删除成员
-A        指定管理员
-M       指定组成员,可以批量添加用户到组
-r         删除密码

gpasswd 组名        给组设置密码

[2] 举例说明

[root@rhel8 ~]# gpasswd -a stu1 admin        将用户stu1添加到admin组
正在将用户“stu1”加入到“admin”组中
[root@rhel8 ~]# id stu1
uid=1001(stu1) gid=1001(stu1) 组=1001(stu1),1002(admin)
[root@rhel8 ~]# gpasswd -M stu1,stu2,stu3 sysadmin		将多个用户添加到sysadmin组中
[root@rhel8 ~]# gpasswd -d stu1 admin		j将stu1从admin组中删除
正在将用户“stu1”从“admin”组中删除
[root@rhel8 ~]# gpasswd -A stu2 admin        将admin组的是管理员设置为stu2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值