linux的权限分配特点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的权限分配特点相关的知识,希望对你有一定的参考价值。
Linux中的用户与用户组
1、Linux多用户、多任务的特性
不同用户具有不同的权限,每个用户在权限允许的范围内完成不同的任务,
Linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。
2、Linux用户的分类(3种)
在Linux下用户是根据角色定义的,具体分为三种角色
每个用户都有一个UID,并且是唯一的,通常UID号的取值范围是0~65535,
a. 管理员(超级用户):拥有对系统的最高管理权限 ,默认是root用户【0】
b. 系统用户(虚拟用户):
也叫“伪”用户,这类用户最大特点是不能登录系统, 它们的存在主要是为了方便系统管理,满足相应的系统进程对文件属主的要求。
例如,系统默认的bin、adm、nobody用户等,一般运行的web服务,默认使用的就是nobody用户,但是nobody用户是不能登录系统的【1-499】
(运行后台程序,daemon守护进程)
c. 普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限
例如,上面提到的crx用户,A,B用户等【500+】
3、用户和组的概念
我们知道,Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个帐户,然后通过这个帐户进入系统。这个帐户和用户是一个概念。
通过建立不同属性的用户,一方面,可以合理利用和控制系统资源;
另一方面,也可以帮助用户组织文件,提供对用户文件的安全性保护.
每个用户都用一个唯一的用户名和用户密码,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合。
通过定义用户组,在很大程度上简化了管理工作
4、用户和组的关系:
用户和用户组的对应关系有:一对一、一对多、多对一、多对多
一对一:一个用户可以存在一个组中,也可以是组中的唯一成员。
一对多:一个用户可以存在多个用户组中,此用户具有多个组的共同权限
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限
多对多:多个用户可以存在多个组中,其实就是上面三个对应关系的扩展
为了方便用户管理,提出了“组”的概念,可以给组分配权限,把相同用户的权限放在同一个组中
5、三个重要配置文件
(1)/etc/passwd (冒号“:”为分隔符)
由于/etc/passwd文件是所有用户都可读的,因此就导致了用户的密码容易出现泄露,于是,Linux将用户的密码信息从/etc/passwd中分离出来,单独放到一个文件中, 这个文件就是/etc/shadow。该文件只有root用户拥有读权限,从而保证了用户密码的安全性。
现在许多linux版本都使用了shadow技术,把真正加密后的用户密码存放到/etc/shadow文件中,而在/etc/passwd文件的密码字段只存放一个特殊的字符,例如用“x"或者"*"来表示。
(3)/etc/group
5、每个用户和每个用户组都有一个属于自己惟一的一个ID(分别是UID和GID)
6、什么是shell ?
shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序。你在提示符下输入的每个命令都由shell先解释然后传给Linux内核。相当于一个翻译官。Linux下常用的shell用sh、bash、csh等,
参考技术A 因为权限设置对于文件和目录的具体作用不同。r(read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(execute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
Linux 访问控制列表(access control list)
简介
随着应用的发展,传统的linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展linux的文件权限控制,以实现更为复杂的权限控制需求。其可以针对任意的用户和用户组进行权限分配(只有root用户和以定义ACL),以及默认权限分配。
类型
- 针对文件所有者分配
- 针对文件所属的组群分配
- 针对额外用户分配
- 针对额外组群分配
- 其他用户分配
- 最大访问权限
查看ACL
getfacl [-option] [file|dic]
可选参数: -a -d -c -e -E -s -R -t -n
输出示例:
[[email protected] abc]$ getfacl count.sh
# file: count.sh
# owner: root
# group: root
user::rw-
user:tom:rwx
user:aaa:rwx
group::r--
group:temp:rw-
mask::rwx
other::r--
配置ACL
setfacl
选项 | 参数 | 含义 |
---|---|---|
-m | ACL设置 | 设置文件的ACL |
-M | 文件 | 从文件中读取ACL条目进行配置 |
-x | ACL设置 | 删除ACL |
-X | 文件 | 从文件中读取ACL条目并删除 |
-b | 删除所有扩展ACL | |
-k | 删除所有默认ACL | |
-R | 递归设置子目录及文件 | |
-d | 设置默认ACL | |
-P | 跳过符号链接 | |
-L | 跟踪符号链接 | |
-n | 不重新计算有效权限 | |
–set= | ACL设置 | 覆盖ACL配置 |
–mask | 重新计算有效权限 | |
–resotre= | 文件 | 从文件恢复备份的ACL |
–test | 测试模式,输出结果 | |
–set-file= | 文件 | 从文件读取ACL条目进行设置 |
ACL规则表示方式
[d[efault]]:[u[ser]]:用户:[权限] #指定用户ACL
[d]:g:组群:[权限] #指定用户组ACL
[d]:m:[权限] #有效权限掩码(其它权限默认不能超出该权限)
[d]:o:[权限] #其它用户ACL
配置示例:
root#setfacl -m u:tom:rwx sum.sh #为用户tom指定权限
以上是关于linux的权限分配特点的主要内容,如果未能解决你的问题,请参考以下文章
Linux 访问控制列表(access control list)