商务服务
Linux基础篇学习——Linux用户管理、用户组管理
2024-10-31 11:18

用户组group,就是具有相同特征的用户的集合体。

Linux基础篇学习——Linux用户管理、用户组管理

【官方文档】
Users and groups
. Every process (running program) on the system runs as a particular user.
. Every file is owned by a particular user.
. Access to files and directories are restricted by user.
. The user associated with a running process determines the files and directories
accessible to that process.
用户和组
. 系统上的每个进程(运行程序)都作为特定用户运行。
. 每个文件都由特定用户拥有。
. 用户对文件和目录的访问受到限制。
. 与运行中的进程相关联的用户确定该进程可访问的文件和目录。

使用者标识符:UID和GID
UID 用户标识符
UID范围用户该UID用户特性0系统管理员具有root权限,可将其他账号的UID改为0使其具有root权限(不建议)1~999系统账号通常不可登录(所以才存在/sbin/nologin特殊shell)1000~60000可登录账号一般用户使用(目前Linux内核3.10.x版支持到2^32-1的UID号码/sbin/nologin这个特殊的shell可以使账号在登录时无法获得shell环境根据名称解析库/etc/passswd名称解析:Username<-------->UID
GID 组标识符

组类别1
管理员组 0
普通用户组 1-65535
 系统用户组 1-499(CentOS6) 1-999(CentOS7)
 登录用户组 500-60000(CentOS6) 1000-60000(CentOS7)
信息保存位置 /etc/group
根据名称解析库/etc/group名称解析:Groupname<-------->GID
组类别2
用户的基本组
用户的附加组
组类别3
私有组 组名为用户名,且只包含一个用户
公共组 组内包含了一个用户

groupadd 添加组

-g GID  指定GID默认是上一个组的GID+1
-r  创建系统组

groupmod 修改组属性

-n  修改组名
-g GID 修改GID

groupdel 删除组

不能删除有用户的用户组

useradd 创建用户

-u 指定UID
-g GID/GROUP 指定基本组ID组需已存在
-r 创建系统用户
-G 指明用户所属附加组多个组之间用逗号分隔
-d 指定家目录家目录之前的目录需已存在

当useradd创建一个新用户时,系统会将这/etc/skel个目录下的所有隐藏文件复制到新用户的home下;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件。

-s 指定用户的默认shellshell列表存储在/etc/shells
-c 指明注释信息
-M --no-create-home,不要自动建立用户的家目录

创建用户时的诸多默认设定配置文件为/etc/login.defs

添加一个用户,变化的文件有
/etc/passwd:用户信息
/etc/shadow:用户密码信息
/etc/group:组用户信息
/etc/gshadow:组用户的密码信息
/home/username

usermod 修改用户属性(只针对已存在的用户

-u UID 修改UID
-g GID 修改用户所属的基本组

-G --groups GROUP1[,GROUP2,…[,GROUPN]]],修改用户所属的附加组 原来的附加组会被覆盖
-a --append,为用户追加新的附加组 与-G一同使用

-s --shellSHELL,修改用户的默认shell
-l --loginNEW_LOGIN,修改用户名
-c --commentCOMMENT,修改注释信息
-d 修改用户的家目录 用户原有的文件不会被转移至新位置
-m --move-home,将原来的家目录移动为新的家目录 只能与-d选项一同使用
-L --lock,锁定用户密码 即在用户原来的密码字符串之前添加一个"!"
-U --unlock,解锁用户的密码

userdel 删除用户

-r 删除用户并删除其家目录

passwd 修改用户密码

请点击查看passwd命令详解

gpasswd 管理/etc/group和/etc/gshadow

-a USERNAME 向组中添加用户
-d USERNAME 从组中移除用户

将apps从wheel组移除

newgrp 临时切换指定的组为基本组

- 会模拟用户重新登录以实现重新初始化其工作环境

chage 更改用户密码过期信息

-d 指定密码最后修改日期
-E 密码到期的日期 过了这天,此账号不可用,0表示马上过期,-1表示永不过期
-W 密码过期前,提前收到警告信息的天数
-m 密码可以更改的最小天数 为零代表任何时候都可以更改密码
-M 密码保持有效的最大天数

id 显示用户的有效ID

-u 仅显示有效的UID
-g 仅显示用户的基本组ID
-G 仅显示用户所属的所有组的ID
-n 显示名字而非ID

/etc/passwd

用户名(login) 代表用户账号 由大小写字母和/或数字组成,长度不超过8个字符
口令(passwd) 加密后的用户口令字 加密后的用户口令字存放到/etc/shadow文件中
用户标识号(UID) 系统内部用来标识用户
组标识号(GID) 用户所属的用户组对应/etc/group文件中的一条记录
注释性描述 字段记录着用户的一些个人情况
家目录 用户的起始工作目录
登录Shell 用户与Linux系统之间的接口,负责将用户的操作传给内核 系统使用bash为默认的登录Shell

/etc/shadow

登录名必须与/etc/passwd中的登录名相一致
加密口令经过编码的密码(摘要

内容含义空对应用户登录时不需要口令*帐号被锁定!!密码过期$6$SHA-512加密$1$MD5加密$2$Blowfish加密$5$SHA-256加密

最后一次修改时间 最近修改密码的日期 以1970.01.01开始累加的天数
 查看最后一次修改密码是哪一天
最小时间间隔 密码不可被修改的天数(与第三字段相比
最大时间间隔 密码需要重新修改的天数(与第三字段相比) 若数值为9999(计算为273年,表示密码的修改不强制;未重新设置密码,这个密码将会变为过期特性
警告时间 密码需要修改期限前的警告天数(与第五字段相比) 密码到期的n天之内,系统会警告该用户
不活动时间 密码过期后的账号宽限时间(密码失效日(与第五字段相比) 用户没有登录活动但账号仍能保持有效的最大天数
失效时间 账号失效日期 若指定,期满后,该账号就不再是一个合法的账号,不能再用来登录

保留

1.密码有效日期为【更新日期(第三字段)】+【重新修改日期(第五字段)】
2.密码过期特性:过了密码有效日期,该账号还是可以用来执行其他的任务,包括登录系统获取bash,但登录系统时,系统会强制要求重新设置密码,这就是密码过期特性。

小结 如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group基本组

练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001)

练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh

练习3:修改gentoo用户的家目录为/var/tmp/gentoo,要求其原有文件仍能被用户访问

练习4:为gentoo新增附加组netadmin

方法一 通过su命令切换为更高权限的用户

带-表示将使用目标用户的shell登录环境

密码验证

root→其他用户,不验证密码
普通用户→其他用户,验证目标用户的密码

su的优缺点

优点:su 命令为管理带来方便
缺点:通过su切换到root后,有不安全因素

  默认情况下,任何用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root)的登录密码,这样带来了安全风险。

PAM安全认证

  PAM(Pluggable Authentication Modules),是 Linux 系统可插拔认证模块,是一种高效而且灵活便利的用户级别的认证方式,它也是当前 Linux 服务器普遍使用的认证方式 。
  PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录ftp、telnet、rlogin、fsh,su等应用程序中。系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

加强su命令的使用控制

借助于 pam_wheel认证模块,只允许个别用户使用 su 命令进行切换

实现过程

步骤一 开启wheel用户安全模块

在这里插入图片描述

步骤二 将用户username加入到wheel组

方法二 使用sudo以root身份运行命令

概念

Sudoers allows particular users to run various commands as the root user, without needing the root password.

sudo是linux下常用的允许普通用户使用超级用户权限的工具,让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。

优点

减少了root用户的登陆和管理时间,提高了安全性 不需要知道root密码

特性

1.sudo能够限制用户只在某台主机上运行某些命令
2.sudo提供了丰富的日志,详细地记录了每个用户干了什么,它能够将日志传到中心主机或者日志服务器
3.sudo使用时间戳文件–日志来执行类似的“检票”系统:当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变
4.sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中的管理用户的使用权限和使用的主机

sudo配置文件/etc/sudoers详解
别名规则
定义格式
Alias_Type 别名类型含义Host_Alias主机别名User_Alias用户别名(用户,%用户组)Runas_Alias允许sudo使用root权限的用户Cmnd_Alias命令别名(这些命令必须是系统存在的文件,要用绝对路径,文件名可以用通配符表示
NAME 别名包含大写字母、下划线以及数字,但必须以一个大写字母开头
授权规则




如果不需要密码直接运行命令,加NOPASSWD:参数
授权规则举例

语法参数
command

command:要以系统管理者身份(或以 -u 更改为其他人)执行的指令

-l 列出当前用户可以执行的命令 只有在sudoers里的用户才能使用该选项
-u username/#uid 以指定用户的身份执行命令 不加此参数,以 root 的身份执行指令
-k 清除存活期时间,下次再使用sudo时要再输入密码
-b 在后台执行知道的命令

配置sudo授权

编辑配置文件命令: 或
visudo调用vi去编辑,但是保存时会进行语法检查,有错会有提示
记录格式

实例

实例一 以root身份授权普通用户

实例二 使用户use1能够有权限挂载/dev/sr0到/media目录下

实例三 使user1和user2用户能够有权限修改IP,使用别名实现,且不需要输入密码

实例四 使user2用户能够有权限使用/user/sbin/下的所有命令,除了/use/sbin/userdel

实例五 使用户user2能够有权限查看var/log/message后的所有文件

这样有一个问题:后面跟一个其他文件也能查看

解决方法

在使用*号时,要特别注意安全问题

用户管理命令练习

增加两个用户并设置好密码(写2行):John、Lucy

查看各用户的基本信息(相关文件在/etc中)

查看各用户的密码信息(相关文件在/etc中)

查找用户summer并显示其相关信息

将当前用户切换到John(进入其主目录)
显示当前登录用户名
将John的登录密码改为:mima1234

将John的帐号有效期设为2019年12月31号 或
将John加入到summer组中

将用户名John改为Jack
删除用户Lucy

组管理命令练习

增加以一个student组
查看所有组的基本信息(相关文件在etc中)
查看summer组中包含哪些用户名
将student组名改为teacher
删除teacher组

1.权限对象

权限对象说明owner属主group属组others其他在这里插入图片描述

2.权限类型

权限类型说明read可读write可写execute可执行

3.r、w、x权限说明

权限对文件的意义
权限说明r可获取文件的数据w可修改文件数据x可将此文件运行为进程(https://blog.csdn.net/qq_42049496/article/details/test
权限对目录的意义
权限说明r可以使用ls获取其下的所有文件列表w可修改此目录下的文件列表(可创建或删除文件)x可cd到此目录,且可使用ls-l来获取所有文件的详细属性信息

4.权限管理命令

chmod 权限管理
基本权限 UGO模式
用户类型说明u属主userg属组groupo其他othera所有all
赋权表示法 直接操作一类用户的所有权限位 rwx

授权表示法 直接操作一类用户的一个权限位 r/w/x



数字操作法
rwx421令文件属主、所在组和其他都有可读、可写、可执行权限
chown 修改文件的属主 仅管理员可用

-R 递归修改

chgrp 修改文件的属组 仅管理员可用

5.进程安全上下文

进程对文件的访问权限应用模型
准备测试文件

情况一 判断进程的属主与文件的属主是否相同,如果相同,则应用属主权限

进程属主文件属主zhaozhao

情况二 检查进程的属主是否属于文件的属组,如果是,则应用属组权限

进程属主文件属主文件属组zhaorootzhao情况三 应用other的权限
进程属主文件属主文件属组zhaorootroot

Linux的进程安全上下文法则
启动进程的权限问题(先不讨论特殊权限SBIT
能否启动一个可执行程序文件作为一个进程PID,取决于此用户是否对这个文件有可执行权限x
:能否将/bin/cat执行为一个进程,取决于用户是否对此文件有x权限
/bin/cat的owner,group,other都具备x权限,所以都可以将此文件启动为一个进程

6.基本权限 ACL (CentOS 6.8

  ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制,是对UNIX文件权限管理的补充。

UGO办不到,但ACL可以做到的有

  1. 针对用户来设置权限
  2. 针对用户组来设置权限
  3. 子文件/目录继承父目录的权限
检查是否支持ACL

ACL需要Linux内核和文件系统的配合才能工作

设置ACL

-m配置后面的ACL参数给文件/目录使用 不可与-x合用
-x删除后续的ACL参数 不可与-m合用
-b移除所有的ACL配置参数
-k移除默认的ACL参数
-R递归配置ACL
-d 配置默认ACL参数只对目录有效,在该目录新建的数据会引用此默认值

查看当前ACL权限

范例一 针对用户设置ACL

范例二 针对用户组设置ACL

default 权限信息只能在目录上设置,会被目录中创建的文件和目录继承

范例三 更改ACL权限

-m 选项用来更改文件和目录的ACL权限
  当一个用户或组的ACL权限不存在时,-m选项执行的是添加
  当一个用户或组的ACL权限已经存在时,-m选项执行的是更新操作

范例四 删除ACL权限

范例五 备份和恢复ACL权限

7.权限掩码 umask

新创建的目录和文件本身有默认权限,由权限掩码umask所确定,即umask用来指定“目前用户在新建文件或者目录时候的权限默认值”。

umask与chmod相反,它代表默认不要的权限

查看当前umask

方式一 ,以数值类型的方式显示权限

方式二 ,以符号类型的方式显示权限

umask与权限
文件

文件权限 = 666-umask
文件默认不能拥有执行权限

如果减得的结果中有执行权限,则需要将其加1
umask=023
666-023=644
777-023=754

目录

目录权限 = 777-umask

设置umask

此类设定仅对当前shell进程有效

8.文件特殊权限 SUID,SGID,SBIT

SUID(Set UID

让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源

SUID的作用
  1.SUID权限仅对二进制程序(binary program)有效
  2.执行者对于该程序需要具有x的可执行权限
  3.本权限仅在执行该程序的过程中有效(run-time)
  4.执行者将具有该程序拥有者(owner)的权限

s标志出现在文件所有者的x权限上
如果属主原本有执行权限,显示为小写s;否则,显示为大写S

普通用户对/etc/shadow没有写入权限,还能修改自己的密码,因为这个SUID功能
passwd命令执行过程

这个SUID只能运行在二进制的程序上(系统中的一些命令,不能用在脚本上(script,因为脚本还是把很多的程序集合到一起来执行,而不是脚本自身在执行。同样,这个SUID也不能放到目录上,放上也是无效的。

SGID(Set GID

获得该程序所属用户组的权限

注意事项
1.SGID对二进制程序有用
2.程序执行者对于该程序来说,需具备x的权限
3.SGID主要用在目录上

s标志出现在文件所属用户组的x权限上
如果属主原本有执行权限,显示为小写s;否则,显示为大写S

如果用户在此目录下具有w权限的话,若使用者在此目录下建立新文件,则新文件的群组与此目录的群组相同

SBIT(Sticky Bit

针对others设置,目前只对目录有效(SBIT对文件不起作用
对于目录的作用是:当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除(用于保护文件

t标志出现在文件其他用户的x权限上
如果其它用户原本有执行权限,显示为小写t; 否则,显示为大写T

任何人都可以在/tmp内增加、修改文件(因为权限全是rwx,但仅有该文件/目
录建立者与 root能够删除自己的目录或文件

SUID/SGID/SBIT权限设置

一种是以字符,一种是以数字

权限位字符数字SUIDu+s4SGIDg+s2SBITo+t1管理特殊权限的另一方式:八进制方式赋权,于默认的三位八进制数字左侧再加一位八进制数字
SUID的作用及设置

nebula修改不了自己的密码,因为没有权限把密码写入到/etc/shadow,想让普通用户能修改/etc/shadow需要用到SUID

SGID的作用及设置

把这个目录加上SGID权限后,再创建文件与目录

file2和dir2的属组变成了root,即它们上层目录testdir的所属用户组 这个可以应用在一个项目的共同开发上

SBIT的作用及设置

虽然tom对nebula_file只有只读权限,但nebula _file所在的目录对其他人是全部的权限,所以,tom可以删除不属于他的文件

权限不够,只能由这个文件的创建者或root用户才能删除

9.隐藏属性 chattr,lsattr

文件的隐藏属性只对ext2/ext3/ext4文件系统完整有效 CentOS 7.6 xfs
sync:将buffer和cache的内容同步到磁盘

chattr 修改文件隐藏属性
mode格式

准备测试文件

a append,设定该参数后,只能向文件中添加数据,而不能删除 多用于服务器日志文件安全,只有root才能设定这个属性

i 文件不能被删除、改名、设定硬链接关系,同时不能写入或新增内容(即使是root用户) 只有root才能设定这个属性

lsattr 列出文件的隐藏属性

-R递归显示目录下所有子目录和文件的属性
-V 显示lsattr程序的版本信息
-a 显示所有文件属性信息,包括以.开头的文件
-d 显示目录属性,而不是目录下的文件的属性
-v 显示文件的档案号码

/etc/shadow 文件没有任何权限,只有root可操作该文件
用普通用户zhao启动passwd进程,进程所有者zhao,passwd进程执行不了/etc/shadow

结论:passwd命令不管以什么用户运行,其进程的所有者应该都是root

练习一 新建系统组mariadb,新建系统用户mariadb, 属于mariadb组,要求其没有家目录,且shell为/sbin/nologin,尝试root切换至用户,查看其命令提示符

无法将目录更改为/home/mariadb:没有此类文件或目录;此帐户当前不可用
练习二 新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名

练习三 新建用户fedora,其家目录为/users/fedora,密码同用户名

练习四 新建用户www, 其家目录为/users/www,删除www用户,但保留其家目录

练习五 为用户gentoo和fedora新增附加组mageedu

    以上就是本篇文章【Linux基础篇学习——Linux用户管理、用户组管理】的全部内容了,欢迎阅览 ! 文章地址:http://www.tpjde.com/news/60.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 推平第移动站 http://mip.tpjde.com/ , 查看更多   
最新新闻
林学专业怎么样_林学专业就业方向及前景分析
  林学专业怎么样?很多考生和家长都对这个问题比较关注,想要充分了解林学专业,就要看林学专业的就业前景、就业方向,以及林
“一本可以申请东大”?日本学校怎么对标中国学校?高考分数能申请哪个学校?超详细整理吐血解答
首先,中日院校的对比,是具有强烈的国家、地域局限性的,同时认可度差异也很大。其次,就算是两个类似的大学,能够给同学们带来
本科最好就业的专业排名前十名:含就业前景、方向
随着社会的快速发展和科技进步的加速,本科专业的选择对于未来的就业前景至关重要。以下将列举十个就业前景广阔的本科专业,并简
全球打工移民首选,揭秘最适合工作与移民的国家优劣对比
1、美国,作为全球移民的热门目的地,提供了多个成熟的移民项目,针对大多数普通人的美国EB3非技术移民项目,以及适合高学历人才
理学就业前景最好的十大专业排名
理学就业前景最好的十大专业有信息与计算科学、数学与应用数学、应用物理学、核物理、地理信息科学、生物信息学、应用统计学、分
日本大学招生制度有哪些需要注意的
1. 填报志愿前应了解哪些情况 (1)各项招生政策及法规 (2)其它各类信息资料 要详细了解今年本地区的招生计划;要调查过去(前三年)
一位华人打工者的美国梦:融入社会 努力拼搏
  据美国《侨报》报道,林谊廉(Ammy Lim Cuccia)从马来西亚来美国时,第一份工作是在华埠小礼品店打工,幸运的是她抽中了美国
十大专业就业前景排名 法学排名第七,第一就业率极高
  高考填报志愿时,广大考生和家长们肯定十分关注专业选择的问题,要考虑哪些专业就业前景好又比较热门,其实就业前景好的专业
适合女生选择的五大热门专业,前景好拿证快~
据不完全数据统计,女生在自考生中占了七成左右。我总结了近年来报考率高的专业,并根据这些专业的难易程度进行了排行(从易到难
管理学类就业前景好的10大专业排名
1.物流管理——管理学2.市场营销一—管理学3.财务管理——管理学4.信息管理与信息系统-—管理学5.会计学一—管理学6.工商管理—