3. 文件系统属性chattr权限

(1)chattr命令

命令格式:

#chattr [+-=][选项] 文件或目录名

+、-、=

分别表示增加权限删除权限和赋于某种权限

选项

i:主要用来防止对文件或目录误操作。如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。(注意,这里的设置对root也同样起作用

a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改,但是不允许删除。

(2)查看文件系统属性:lsattr命令

  ①格式:#lsattr [选项] 文件名,其中选项如下:

  ②选项:-a 显示所有文件和目录

      -d 若目标是目录,仅列出目录本身的属性,而不是子文件的

(3)应用举例

  ①给文件加i属性

  【结论】

    A.给abc文件加i属性后,可以通过lsattr查看其属性,权限中的“i”表示具有i属性。“e”表示该文件是ext4格式。

    B. 当加了i属性以后,就无法删除文件了,哪怕是root用户也一样。但可以查看其内容。

  ②给目录加i属性

  【结论】

    A.给/test/目录加i属性

    B.这时可以修改test目录下的abc文件,但不能删除这个文件。

    C.同时由于/test目录具有i属性,所以不能删除test目录本身,也不能在其中创建新文件或目录。

4. 系统命令sudo权限

4.1 sudo权限

(1)相比于su切换身份需要用户的密码,经常性的是需要root密码,sudo只是需要自己的密码,就可以以其他用户的身份来执行命令经常是以root的身份执行命令

(2)root把本来只能超级用户执行的命令赋予普通用户执行,但又不需要向普通用户提供root的密码。

(3)sudo的操作对象是系统命令.

4.2 sudo的使用

(1)#visudo (注意,这是一个命令,而不是“vi sudo”,也可以#vim /etc/sudoers文件

  root All=(All) ALL  //为root用户授权

  //分别为#用户名 被管理主机的地址=(可使用身份) 授权命令(绝对路径)。其中的“用户名”表示为哪个用户授权,“被管理主机的地址”表示用户可以在哪台主机上运行授权命令(All表示任何主机),“可使用身份表示test用户以何种身份运行授权命令,这部分省略。“授权命令”指为授权给用户执行的命令,ALL表示所有命令。

  test All=(root) /usr/sbin/useradd  //为test授权

  //上面一行的意思是,超级用户为test用户授予在任何一台主机上运行useradd命令的权限,当test用户使用sudo执行这条命令时是以root的身份执行的。

   #%wheel ALL=(ALL) ALL  //为某一组(如wheel组)用户授权命令

   //#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

(2)应用举例

  ①授权sc用户可以重启服务器

    #visudo

    sc ALL= /sbin/shutdown –r now //为sc授权执行shudown –r now这行命令,但要注意这里只授予加了“-r now”选项的shutdown命令。而不是所有shutdown命令。

  ②普通用户执行sudo赋予的命令

    $sudo –l //查看可用的sudo命令。(注意$表示普通用户)

    $sudo /sbin/shutdown –r now //普通用户执行sudo赋予的命令

第7章 权限管理(3)_文件系统属性和sudo权限的更多相关文章

  1. Android权限管理之Android 6.0运行时权限及解决办法

    前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...

  2. 前后端分离进行权限管理之后端API返回菜单及权限信息(三)

    一.动态菜单API的生成 1.API #菜单信息 url(r'^menus$', views.MenuModelView.as_view({"get": "list&qu ...

  3. Linux学习-预习第五六七章节关于用户权限管理以及磁盘文件系统

  4. ODOO权限管理,在两个方面设置权限

    转载参考https://zhuanlan.zhihu.com/p/29130388 在odoo中新建两个用户user1,user2 新建用户 建完了用户,记得编辑用户,设置密码. 然后以user1用户 ...

  5. .NET快速信息化系统开发框架 V3.2 -> WinForm“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示

    对于某些大型的企业.信息系统,涉及的组织机构较多,模块多.操作权限也多,对用户或角色一一设置模块.操作权限等比较繁琐.我们可以直接对某一组织机构进行权限的设置,这样设置后,同一组织机构的用户就可以拥有 ...

  6. 第二十三章 多项目集中权限管理及分布式会话——《跟我学Shiro》

    二十三章 多项目集中权限管理及分布式会话——<跟我学Shiro> 博客分类: 跟我学Shiro 跟我学Shiro  目录贴:跟我学Shiro目录贴 在做一些企业内部项目时或一些互联网后台时 ...

  7. 五天一体_企业权限管理(SSM整合)

    学于黑马程序员和传智播客联合做的教学项目 感谢 黑马程序员官网 传智播客官网 个人根据教程的每天的工作进度的代码和资料 密码:cti5 b站在线视频 微信搜索"艺术行者",关注并回 ...

  8. [Django]用户权限学习系列之设计自有权限管理系统设计思路

    若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...

  9. ASP.NET 开发必备知识点(2):那些年追过的ASP.NET权限管理

    一.前言 在前一篇文章已经为大家介绍了OWIN和Katana,有了对他们的了解之后,才能更好地去学习Asp.net Identity,因为Asp.net Identity的实现集成了Owin.其实在A ...

随机推荐

  1. JavaScript进阶之this

    javascript的this,一个不知道究竟属于谁的东西 this是一个大利器,用好了就可以帮我们省掉很多事,然而事实上却总是让我们出错.自己就吃过很大的亏.现在咱们就来扒一扒this究竟是什么. ...

  2. Java字节、十进制、十六进制、字符串之间的相互转换

    1. 字节转10进制 直接使用(int)类型转换. /* * 字节转10进制 */ public static int byte2Int(byte b){ int r = (int) b; retur ...

  3. 【nodejs笔记3】Express基本用法,和路由控制,和模板渲染ejs

    1. 路由控制的工作原理 //routes/index.js中的代码//访问主页时,调用ejs模板引擎,渲染index.ejs模板文件,生成静态页面,并显示在浏览器中.router.get('/', ...

  4. 最短路径之Floyd算法

    Floyd算法又称弗洛伊德算法,也叫做Floyd's algorithm,Roy–Warshall algorithm,Roy–Floyd algorithm, WFI algorithm. Floy ...

  5. 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用

    学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...

  6. 利用CSS3中transparent实现三角形及三角形组合图

    ??如何绘制三角形及三角形的组合图案,以下是自己画的草图 源码如下 <!DOCTYPE html> <html lang="en"> <head> ...

  7. 有一个小效果而引出的appendTo()函数。

    在公司做项目的时候,始终不了解信息逐条向上滚的动画效果,后来查阅相关资料,终于明白了,在这个过程中,让我对appendTo这个函数有了一个全新的认识.话不多说,首先是demo: <!DOCTYP ...

  8. arcgis10.2.2桌面版具体的安装步骤过程

    先声明一下,这里的截图虽说是ArcGIS10.1版本的,但是安装步骤是对的,本人用ArcGIS10.2.2软件测试成功安装上 一.ArcGIS许可证管理器安装 1.在软件包文件夹license man ...

  9. string中Insert与Format效率对比、String与List中Contains与IndexOf的效率对比

    关于string的效率,众所周知的恐怕是“+”和StringBuilder了,这些本文就不在赘述了.关于本文,请先回答以下问题(假设都是基于多次循环反复调用的情况下):1.使用Insert与Forma ...

  10. IOS开发之----#import、#include和@class的区别

    1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include. 2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题.&l ...