Linux学习 -- 权限管理
1 ACL权限
1.1 简介与开启
1.1.1 ACL权限是什么
access control list 访问控制表
解决传统的(owner,group,others)身份不足的情况
可以设置 特定用户或用户组 对于 一个文件或目录 的操作权限
1.1.2 查看系统(根分区)是否支持ACL 一般默认都是支持的,不用手动开启
df -h 查看有哪些分区 找到根分区
dupme2fs /dev/sda5 | grep acl
Default mount options: user_xattr acl 默认挂载选项,支持ACL
1.1.3 临时开启分区的ACL权限
mount -o remount, acl /
1.1.4 永久开启分区的ACL权限
#vi /etc/fstab
在跟分区的defaults后面添加,acl #注意:写错了会使系统崩溃,慎用!
#mount -o remount / 重新挂载根分区, 或者重启系统, 使之生效
1.2 查看与设定
1.2.1 查看ACL
#getfacl 文件名
1.2.2 设定ACL权限
#setfacl 选项 文件名
-m 设定
-x 删除指定
-b 删除所有
-d 设定默认
-k 参数默认
-R 递归设定
给用户设定ACL权限
#setfacl -m u:userx:rx project/
给用户组设定ACL权限
#setfacl -m g:groupx:rwx project/
1.3 最大有效权限与删除
1.3.1 最大有效权限mask
用户的实际权限=设定的ACL权限&&mask 逻辑与
mask默认为rwx,此时 实际权限=设定权限
1.3.2 删除ACL权限
#setfacl -x g:groupx project/ 删除指定用户或组
#setfacl -b project/ 删除所有的ACL权限
1.4 默认与递归ACL权限
1.4.1 递归ACL权限 -- 针对现有的
#setfacl -m u:用户名:权限 -R 目录名
1.4.2 默认ACL权限 -- 针对新建的
#setfacl -m d:u:用户名:权限 目录名
给父目录设定默认ACL权限,那么父目录中新建的子文件都会继承该权限
2 文件特殊权限
2.1 SetUID -- owner
针对 可执行的 二进制 程序
执行者有x权限 #否则会出现S,不能正确执行
执行者 暂时获得 程序文件所属者的身份(灵魂附体)
例子:passwd文件
设定SetUID
#chmod 4755 文件名
#chmod u+s 文件名
取消SetUID
#chmod 755 文件名
#chmod u-s 文件名
危险的SetUID! 不要自己随意设置SUID文件。
2.2 SetGID -- group
针对二进制文件的作用,和SUID相似 也比较危险!
可执行 二进制程序 x权限
组身份 —> 程序文件的所属组 暂时
例子: locate
针对目录的作用
普通用户 r+x权限 普通用户在此目录的有效组 --> 此目录的属组
新建的文件 默认属组是这个目录的属组
设置: chmod 2755 g+s
取消: chmod 755 g-s
2.3 Sticky BIT -- others
SBIT粘着位的作用 -- 只针对目录
普通用户 w+x权限 如果目录有粘着位,普通用户就算有w权限,也只能删除自己建立的文件,不能删除其他用户的文件
例子 /tmp/
设置:chmod 1755 o+t
取消:chmod 755 o-t
3 文件系统属性chattr权限
chattr [+-=] [i a] [文件或目录] 防止误操作 对于root用户,也同样适用
i 对于文件:不许删除,改名,不能添加和修改数据, 相当于把文件锁起来了
对于目录:只能修改目录下文件的数据,但不允许建立和删除文件 修改数据不能用vi,只能echo >>方式追加
a 对于文件:这能增加数据,不能删除和修改数据
对于目录:只允许建立和修改文件,不允许删除文件
lsattr 选项 文件名 查看文件系统属性
-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身的属性
4 系统命令sudo权限
superuser do就是让超级用户来做
root把本来只能超级用户执行的命令赋予普通用户执行
sudo的操作对象是系统命令
#visudo 修改/etc/sudoers文件
注意:被管理主机的地址 写ALL 或 本机IP(访问IP,而不是来源IP)
例子:


Linux学习 -- 权限管理的更多相关文章
- Linux学习 - 权限管理命令
一.chmod(change the permissions mode of a file) 1 功能 改变文件或目录权限 root 与 所有者 可进行此操作 2 语法 chmod [(ugoa) ...
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- Linux目录权限管理
Linux目录权限管理 实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...
- Linux系统文件权限管理(6)
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...
- Linux的权限管理操作-Linux从入门到精通第七天(非原创)
文章大纲 一.权限概述二.权限设置三.属主与属组设置四.扩展五.学习资料下载六.参考文章 一.权限概述 总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner.group.other ...
- Linux 文件权限管理
1.文件权限的概述 在Linux系统下,使用权限来保护资源的安全将是一种不错的选择.系统中每个文件的权限都有可读(r).可写(w)和可执行(x)这三种权限,它们分别对应权限数值4.2 和1.系统为每个 ...
- Linux命令--权限管理
chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : 所有使用者 语法 chmod [-cfvR ...
- [Linux] 010 权限管理命令 chmod
1. 权限管理命令:chmod 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 ...
- 一个故事看懂Linux文件权限管理
前情回顾: 我通过open这个系统调用虫洞来到了内核空间,又在老爷爷的指点下来到了sys_open的地盘,即将开始打开文件的工作. 详情参见:内核地址空间大冒险:系统调用 open系统调用链 我是一个 ...
随机推荐
- Python 拆分字符串
数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list ...
- 硬盘图标修改器 V1.0 绿色版
软件名称:硬盘图标修改器 V1.0 绿色版软件语言: 简体中文授权方式: 免费软件应用平台: Win7 / Vista / Win2003 / WinXP / Win2008 软件大小: 12.3MB ...
- PHP ServerPush (推送) 技术
用来代替ajax的请求 转自:http://blog.163.com/bailin_li/blog/static/17449017920124811524364/ 需求: 我想做个会员站内通知的功能. ...
- csv格式导出文件
先上传连个图片看看效果,这是界面效果dwz框架(springmvc开发) 点击导出csv效果图 js部分的代码(带条件查询的csv导出): function exportReportCsv(){ ex ...
- OpenStack回顾随笔(第一章)
1. OpenStack历史 OpenStack前身是NASA和Rackspace合作的项目,2010年开源,与其他主流开源云管理系统:Citrix的Cloudstack和桉树的OpenNebu ...
- javascript performence
1.将脚本放在底部 javascript是阻塞式的加载,如果先加载脚本,后面的dom都没有办法进行渲染,页面会是一片空白: 采用无阻塞下载javascript a.使用<script>标签 ...
- git分支--branch
分支创建: $ git branch testing 显示分支: $ git branch iss53 * master testing 如果需要查看每一个分支的最后一次提交 $ git branch ...
- 最近客户的apache+php环境运行很慢解决
描述:[Wed Jul 24 15:49:11 2013] [warn] (OS 64)指定的网络名不再可用. : winnt_accept: Asynchronous AcceptEx faile ...
- text-size-adjust的值为100% 代替值 none
iPhone 横屏默认会放大文字,设置text-size-adjust会解决这个问题 一般用text-size-adjust:none 但建议用100%代替none text-size-adjust: ...
- PHP:urlencode
urlencode是用于对字符串进行编码,使得所有字符都能被放入url中,而不会被解析器误解. 正如html中的<>这样的符号是标记符,如果正文中存在<,要把它转义为< url ...