Linux学习之文件属性chattr权限与sudo权限

文件属性chattr

Linux文件的隐藏属性在保护系统文件的安全性上非常重要,是防止误操作的,对root用户也同样有效。
chattr命令只能在Ext2/Ext3的文件系统生效。

  

设置文件属性

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

常用选项详解

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

  

所有选项

参数	含义
A 设置A属性后,若你访问此文件或目录时,它的访问时间atime不会被修改,可避免I/O较慢的机器过度访问磁盘。这对速度较慢的计算机有帮助。
S 一般文件是异步写入磁盘,加上S属性后,文件将同步写入磁盘
a 当设置a后,文件只能增加数据,既不能删除也不能修改数据,只有root才能设置这个属性
c 设置c属性后,会自动将文件压缩,在读取时自动解压缩
d 当dump程序执行时,设置d属性将可使改文件或目录不被dump备份
i i属性可使文件不能被删除、改名,设置连接也无法写入或添加数据。对于系统安全性有很大帮助。只有root能设置此属性。
s 当文件设置s属性时,如果文件被删除,将从硬盘彻底删除
u 与s相反,当文件设置u属性时,文件删除后数据内容还存在磁盘,可以使用来找回该文件
j A file with the `j' attribute has all of its data written to the ext3 journal before being written to the file itself, if the filesystem is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journal" option all file data is already journalled and this attribute has no effect. Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute.

  

查看文件系统属性

lsattr [选项] 文件名

  

选项

-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身的属性,而不是子文件

演示

创建一个文件test
给test文件设置文件属性i
查看test文件的文件属性为i
不能往文件写入数据
不能删除文件

sudo权限

root把本来只能超级用户执行的命令赋予普通用户执行。
sudo的操作对象是系统命令。

  

首先sudo是将root用户能使用但是普通用户没有权限使用的命令重新赋予权限,让普通用户也能使用
比如关机,重启这些命令,添加1新的用户,只能root用户才能使用的命令

  

设置sudo权限

visudo
实际修改的是/etc/sudoers文件
vi /etc/sudoers

  

给某个用户设置sudo权限

root  ALL=(ALL)	ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
第一个是普通用户。
第二个指定ip或网段,并不是远程访问过来的主机,指的是被管理的IP,就是本机IP。
等号后面是指把前面的用户当成什么身份,这里就是指root用户,我们可以不写。
最后不要写ALL,指定一个命令就好了,但是我们最好尽量压缩命令的使用选项,注意要写绝对路径。

  

给某个组设置sudo权限,组成员也会拥有sudo权限

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

  

这里%是语法格式,一定要加上。

  

实际演示

授权sc用户可以重启服务器
下面例子 :
sc ALL=/sbin/shutdown -r now

  

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

su -sc #切换到sc用户
sudo -l #查看所有sudo权限
sudo /sbin/shutdown -r now #在执行这条命令的时候,还是要在前面加上sudo,这是语法格式。

  

Linux学习之文件属性chattr权限与sudo权限(十二)的更多相关文章

  1. Linux系统下为普通用户加sudo权限

    Linux下为普通账号加sudo权限 1. 错误提示:当我们使用sudo命令切换用户的时候可能会遇到提示以下错误:xxx is not in the sudoers file. This incide ...

  2. Linux环境下为普通用户添加sudo权限

    系统环境:Centos6.5 1.背景: sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具.Linux系统下,为了安全,一般来说我们操作都是在普通用户 ...

  3. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  4. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  5. Linux内核设计与实现 总结笔记(第十二章)内存管理

    内核里的内存分配不像其他地方分配内存那么容易,内核的内存分配不能简单便捷的使用,分配机制也不能太复杂. 一.页 内核把页作为内存管理的基本单位,尽管处理器最小寻址坑是是字或者字节.但是内存管理单元MM ...

  6. Linux学习 - 文件系统属性chattr权限

    change file attributes on 啊linux file system 1 功能 可以防止误操作 2 chattr命令格式 chattr [+-=] [选项] 文件或目录名 + 增加 ...

  7. Linux学习《第五章用户文件权限管理》之补充学习

  8. 《Linux内核设计与实现》读书笔记(十二)- 内存管理【转】

    转自:http://www.cnblogs.com/wang_yb/archive/2013/05/23/3095907.html 内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己 ...

  9. 学号20175313 《实现Linux下Sort -t : -k 2功能》第十二周

    目录 一.题目要求 二.题目理解 三.设计思路 四.代码实现 五.代码链接 六.运行结果截图 七.参考资料 一.题目要求 实现Linux下Sort -t : -k 2的功能 二.题目理解 -t 分隔符 ...

随机推荐

  1. shell 终端常用插件

    参考链接: http://get.ftqq.com/992.get 1.zsh 2.autojump 3.apt-get install lamp-server^ 4.tldr 5.tree (显示目 ...

  2. JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作

    html代码: <!--添加/删除/修改 --> <div id="a1"> <button id="a2" onclick=&q ...

  3. python - 添加文件环境变量

    #添加  当前文件目录 import sys,os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE ...

  4. Andrew Ng在coursera上的ML视频 知识点笔记(2)

    一.由线性回归导出逻辑回归: 二.“一对多”算法解决多分类问题: 三.“过拟合”和“欠拟合”: (1)对线性回归加入正则项: (2)对逻辑回归加入正则项: (3)加入正则项之后的正规方程:

  5. kafka系列四、kafka架构原理、高可靠性存储分析及配置优化

    一.概述 Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cl ...

  6. Python3学习笔记12-定义函数及调用

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,能提高应用的模块性,和代码的重复利用率 Python提供了许多内建函数,比如print().也可以自己创建函数,这被叫做用户自定义函数 ...

  7. 【一通百通】c/php的printf总结

    程序语言都是触类旁通的,讲人话就是[一通百通].so今天说说工作中常用的printf的用法吧. 1.先说说PHP printf()函数: printf()函数的调用格式为: printf(" ...

  8. Java基础96 ajax技术的使用

    本文知识点(目录): 1.ajax的概念   2.使用ajax技术获取服务端的数据_实例   3.使用ajax技术检查用户名是否已存在_实例   4.使用ajax技术验证登录页面的用户名和密码_实例 ...

  9. HTTP2.0 简明笔记

    前言 RFC2616发布以来,一直是互联网发展的基石.HTTP协议也成为了可以在任何领域使用的核心协议,基于这个协议人们设计和部署了越来越多的应用.HTTP的简单本质是其快速发展的关键,但随着越来越多 ...

  10. js判断用户的浏览器

    1,判断pc和移动端 function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsI ...