Linux用户与用户权限(yum)


文件所有者、用户组与其他人的示意图:
有个人叫张小猪,他是张小猪家的人,和王大毛家没有关系,此时
无法进入王大毛家;
如果张小猪和王三毛成了好朋友,他就可以通过王三毛进入王家。
那么这个张小猪就是王家所谓的其他人( Others ),若某一用户对
于一个与他毫无关系的用户组而言 , 就可以被视作其他用户。
在这有一个特殊用户需要提及一下。 Linux 中的 root 用户(上图中
的天神) , 在整个 Linux 系统中拥有最大的权限 , 理论上能干任何事
情。
##1.1 用户
假如当你将的给你心意的女神写了封 Email 情书转存成了文件之
后,放在你自己的主文件夹中,你总不希望被其他人看见自己的情
书吧?这个时候你就可以把该文件设置成只有所有者才能查看和修
改该文件的内容,那么即使其他人知道你这个相当有趣的文件,不
过由于你设置适当权限,所以其他人自然不知道该文件的具体内
容。
由于 Linux 是多用户 , 多任务的操作系统 , 为此 , 会经常有多个用户
同时使用某一台主机。为了考虑每个用户的隐私安全以及每个用户
特殊的工作环境 , 设计了文件所有者这个概念。而文件所有者就是文
件所属的用户。
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使
用系统资源的用户,都必须首先向系统管理员申请一个账号,然后
以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行
跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组
织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。用户在
登录时键入正确的用户名和口令后,就能够进入系统和自己的主目
录。
1.2 用户组
那么用户组呢?为何要配置文件所属的用户组呢?
用户组是为了团队开发资源而设计的。举例来说 : 某一台主机上
的资源有两个团队共同使用 ,team A (曹操、许褚、夏侯渊)和
teamB (刘备、关羽、诸葛亮)。
-rwxrwx--- caocao teamA wei.doc
-rwxrwx--- liubei teamB shu.doc
-rwx------ zhugeliang teamB qingshutohyy.txt
这两个团队之间是竞争关系 , 但却要提交同一份报告《如何获得
天下》,每个团队的成员需要有权修改该团队其他成员的数据 , 同时
另一个团队的成员无权查看本组自己的文件内容 , 此时用户组就起到
了关键作用。
在 Linux 下我们可以的进行简单的文件权限设置 , 就能限制非自
己团队的用户权限 , 同时 , 我们还可以设置个人私密文件 , 使团队内其
他成员无法获取私人的文件内容。除此之外 , 若是有项目主管想监督
这两个团队的开发进度 , 需要查看两个团队文件的权限 , 你便可以设置
主管账号 , 同时支持这两个用户组。换句话说 : 每个账号都可以有多个
用户组的支持。
用户组和用户关系分析案例:
可以使用 " 家庭 " 和家庭成员的关系进行分析,比如王大毛家的
三兄弟:大毛、二毛、三毛,而家庭登记的王大毛的名下,他们分
别有自己的房间。所以 " 王大毛家 " (用户组)有 3 个人(用户):大
毛、二毛、三毛;而且这三个人分别有自己的房间,并且共同拥有
一个客厅。
用户的意义: 由于王大毛家 3 个人拥有自己的房间,所以二毛虽
然可以进入三毛的房间,但是二毛不能随便翻三毛的抽屉,因为抽
屉里可能有三毛的私有物品,比如情书、日记等;这是私人空间,
所以不能让二毛随便动。
用户组的意义: 由于共同拥有客厅,所以王家三兄弟可以在客
厅看电视、看杂志、或望着天花板发呆等,总之只要是客厅的东
西,三兄弟都可以使用,大家一家人嘛。
王大毛家 -> 用户组;大毛、二毛、三毛 ---> 分别对应一个用户.
他们三个人在同一个用户组中,可以通过设置他们文件的权限,将
一些文件设置为 " 私有的 " (只能他自己访问和使用),同用户组的
其他用户无法访问和使用。而通过设置用户组共享的,则可让大家
共同分享。
d rwx r-x ---
#2 、 用户和用户组管理
在 Linux 系统当中 , 默认情况下所有的系统上的账号信息都记录
在 /etc/passwd 这个文件内 ( 包括 root 用户 ) 。而个人密码记录
在 /etc/shadow 这个文件内。所有 Linux 的组名都记录在 /etc/group
内。这三个文件非常重要 , 不要轻易做变动。在后续内容中 , 我们还会
详细做介绍。
综上 , 用户身份与用户组的概念 , 能够帮助我们的 Linux 多任务环境
变得更为容易管理。
###2.1.1 添加新的用户
useradd [ 选项 ] 用户名
选项说明 :
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用 -m 选项,可以创建主目录。
g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell 文件 指定用户的登录 Shell 。
-u 用户号 指定用户的用户号,如果同时有 -o 选项,则可以重复使用其他用户的标识号。

###2.1.2 修改帐号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、
主目录、用户组、登录 Shell 等。
修改已有用户的信息使用 usermod 命令,其格式如下:
usermod [ 选项 ] 用户名
常用的选项包括 -c, -d, -m, -g, -G, -s, -u 以及 -o 等,这些选项的意义与
useradd 命令中的选项一样,可以为用户指定新的资源值。
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
案例实战:
实例 1 :将用户 jinxf 的登录 Shell 修改为 bash ,主目录改
为 /home/z ,用户组改为 root 。

###2.1.3 删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号
就是要将 /etc/passwd 等系统文件中的该用户记录删除,必要时还删
除用户的主目录。
删除一个已有的用户账号使用 userdel 命令,其格式如下:

###2.1.4 用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没
有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以
使用,即使是指定空口令。
指定和修改用户口令的 Shell 命令是 passwd 。超级用户可以为自己
和其他用户指定口令,普通用户只能用它修改自己的口令。命令的
格式为:
passwd 选项用户名
可使用的选项:
-u ( unlock ) 口令解锁。
-d 清除用户口令
如果默认用户名,则修改当前用户的口令。
例如,假设当前用户是 jinxf ,则下面的命令修改该用户自己的口
令:








虽然这个字段存放的只是用户口令的加密串,不是明文,但是由
于 /etc/passwd 文件对所有用户都可读,所以这仍是一个安全隐患。
因此,现在许多 Linux 系统(如 SVR4 )都使用了 shadow 技术,把
真正的加密后的用户口令字存放到 /etc/shadow 文件中,而
在 /etc/passwd 文件的口令字段中只存放一个特殊的字符,例如 "x"
或者 "*" 。
3 ) " 用户标识号 " 是一个整数,系统内部用它来标识用户。
一般情况下它与用户名是一一对应的。如果几个用户名对应的用户
标识号是一样的,系统内部将把它们视为同一个用户,但是它们可
以有不同的口令、不同的主目录以及不同的登录 Shell 等。
通常用户标识号的取值范围是 0 ~ 65535 。 0 是超级用户 root 的标识
号, 1 ~ 99 由系统保留,作为管理账号,普通用户的标识号从 100 开
始。在 Linux 系统中,这个界限是 500 。
4 ) " 组标识号 " 字段记录的是用户所属的用户组。
它对应着 /etc/group 文件中的一条记录。
5)" 注释性描述 " 字段记录着用户的一些个人情况。
例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的
用途。在不同的 Linux 系统中,这个字段的格式并没有统一。在许
多 Linux 系统中,这个字段存放的是一段任意的注释性描述文字,用
做 finger 命令的输出。
6)" 主目录 " ,也就是用户的起始工作目录。
它是用户在登录到系统之后所处的目录。在大多数系统中,各用户
的主目录都被组织在同一个特定的目录下,而用户主目录的名称就
是该用户的登录名。各用户对自己的主目录有读、写、执行(搜
索)权限,其他用户对此目录的访问权限则根据具体情况设置。

相关推荐
vin_zheng44 分钟前
破解企业安全软件网络拦截实战记录
运维
林姜泽樾2 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
xiaokangzhe3 小时前
Linux系统安全
linux·运维·系统安全
feng一样的男子3 小时前
NFS 扩展属性 (xattr) 提示操作不支持解决方案
linux·go
南棱笑笑生3 小时前
20260310在瑞芯微原厂RK3576的Android14查看系统休眠时间
服务器·网络·数据库·rockchip
xiaokangzhe3 小时前
Nginx核心功能
运维·nginx
松果1773 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
XDHCOM3 小时前
ORA-32152报错咋整啊,数据库操作遇到null number问题远程帮忙修复
服务器·数据库·oracle
Highcharts.js4 小时前
Highcharts React v4.2.1 正式发布:更自然的React开发体验,更清晰的数据处理
linux·运维·javascript·ubuntu·react.js·数据可视化·highcharts
ayaya_mana4 小时前
快速安装Nginx-UI:让Nginx管理可视化的高效方案
运维·nginx·ui