zoukankan      html  css  js  c++  java
  • Linux学习之文件属性chattr权限与sudo权限(十二)

     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,这是语法格式。
    

      

  • 相关阅读:
    DOS命令行编译运行java
    mysql安装
    ICCV2021 | Vision Transformer中相对位置编码的反思与改进
    ICCV2021 | 医学影像等小数据集的非自然图像领域能否用transformer?
    ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征
    2021视频监控中的多目标跟踪综述
    ML2021 | (腾讯)PatrickStar:通过基于块的内存管理实现预训练模型的并行训练
    ICCV2021 | SOTR:使用transformer分割物体
    ICCV2021 | PnPDETR:用Transformer进行高效的视觉分析
    使用Latex/Tex创建自己的简历。
  • 原文地址:https://www.cnblogs.com/-wenli/p/10358432.html
Copyright © 2011-2022 走看看