Linux文件权限补充内容以及系统存储结构知识

  • 文件的隐藏属性

  chattr +权限 文件    设置隐藏权限

  chattr -权限 文件     取消隐藏权限

  lsattr  文件       查看隐藏权限

  

  chattr命令中的参数及其作用

参数 作用
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging)
x 可以直接访问压缩文件中的内容
  • 文件访问控制列表

  可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。其中,针对目录文件需要使用-R递归参数;针对普通文件则使用-m参数;如果想要删除某个文件的ACL,则可以使用-b参数。

  setfacl      设置FACL

  getfacl      查看FACL

  # setfacl -Rm u:zhangsan:rwx /root    设置单个用户允许rwx这个目录   (针对/root目录设置ACL用到-R)
  # setfacl -m g:zhangsan:rw /etc/fstab   设置允许某个组的用户都可以读写/etc/fstab个文件
  # setfacl -x g:zhangsan /etc/fstab    取消权限(单个:-x  全部:-b )
  # getfacl -R /home > backup.acl       备份FACL
  # setfacl --restore backup.acl        恢复FACL  

    setfacl命令中的参数以及作用

参数 作用
-m 修改权限
-M 从文件中读取权限
-x 删除某个权限
-b 删除全部权限
-R 递归子目录
  • su命令与sudo服务

       su    用户名

  su -  用户名   表示完全切换(包括环境变量)

  sudo命令 用于给普通用户提供额外的权限,语法格式为:“ sudo [参数] 用户名”。

      sudo命令中的可用参数以及作用

参数 作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或UID值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语

    visudo命令  用于编辑配置用户sudo权限文件,语法格式为:“ visudo [参数]”。

    # visudo
     99 ## Allow root to run any commands anywhere
    100 root ALL=(ALL) ALL
    101 linuxprobe ALL=(ALL) ALL

    谁可以使用  允许使用的主机=(以谁的身份)  可执行命令的列表

    谁可以使用:稍后要为哪位用户进行命令授权。

    允许使用的主机:可以填写ALL代表不限制来源主机,亦可填写如192.168.10.0/24的网段限制来源地址,只有从允许网段登录时才能使用sudo命令。

    以谁的身份:可以填写ALL代表系统最高权限,也可以是另外一位用户的名字。

    可执行命令的列表:可以填写ALL代表不限制命令的列表,亦可填写如/usr/bin/cat的文件名称来限制命令列表,多个命令文件之间用逗号(,)间隔。

    可以添加NOPASSWD参数,使得用户下次再执行sudo命令时就不用密码验证啦~

    101 linuxprobe ALL=(ALL) NOPASSWD:/usr/bin/cat,/usr/sbin/reboot
  
  • Linux系统存储结构  
  一切从“/”开始

  Linux文件权限补充内容以及系统存储结构知识

 

 

 

 

 

   Linux系统中常见的目录名称以及相应内容

目录名称 应放置文件的内容
/boot 开机所需文件—内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 配置文件
/home 用户主目录
/bin 存放单用户模式下还可以操作的命令
/lib 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录
/opt 放置第三方的软件
/root 系统管理员的家目录
/srv 一些网络服务的数据文件目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin Linux系统开机时不会使用到的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件
/var 主要存放经常变化的文件,如日志
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里
  • 物理设备的命名规则

  

   常见的硬件设备及其文件名称

硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-z]
virtio设备 /dev/vd[a-z]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0

  主分区或扩展分区的编号从1开始,到4结束;

  逻辑分区从编号5开始。

  Linux文件权限补充内容以及系统存储结构知识

 

 

      其中:“/dev/sda5”表示的就是“这是系统中第一块被识别到的硬件设备中分区编号为5逻辑分区的设备文件”

  第一个扇区来讲,主引导记录需要占用446字节,分区表为64字节,结束符占用2字节;其中分区表中每记录一个分区信息就需要16字节,这样一来最多只有4个分区信息可以写到第一个扇区中,这4个分区就是4个主分区。第一个扇区中的数据信息如图

  Linux文件权限补充内容以及系统存储结构知识

 

 

   于是为了解决分区个数不够的问题,可以将第一个扇区的分区表中16字节(原本要写入主分区信息)的空间(称之为扩展分区)拿出来指向另外一个分区。也就是说,扩展分区其实并不是一个真正的分区,而更像是一个占用16字节分区表空间的指针—一个指向另外一个分区的指针。这样一来,用户一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求。当然,就目前来讲大家只要明白为什么主分区不能超过4个就足够了。

Linux文件权限补充内容以及系统存储结构知识

 

 

 

 

  • 书本笔记截图

Linux文件权限补充内容以及系统存储结构知识Linux文件权限补充内容以及系统存储结构知识Linux文件权限补充内容以及系统存储结构知识

 

Linux文件权限补充内容以及系统存储结构知识

上一篇:git多账号登录问题


下一篇:LDAP 集成gitlab jenkins 以及禅道