Linux笔记 (8)
Linux笔记 (8)
标签(空格分隔): Linux
文件与目录的预设权限与隐藏权限
1.文件预设权限:umask
- umask就是指定目前使用者在建立文件或目录时候的权限预设值。
- 预设情况下:
(1)文件的权限为【-rw-rw-rw-】
(2)目录的权限为【drwxrwxrwx】 - 查阅方式:
(1)直接输入【umask】,可以看到数字形式的权限设定分数,如0022。该分数指的是预设值需要减掉的权限。
(2)输入【umask -S】(Symbolic),就会以符号形式显示出权限,如u=rwx,g=rx,o=rx。 - 例如:
使用者umask=>0022
则其建立文件时,属性为【-rw-rw-rw-】-【-----w--w-】=【-rw-r--r--】;
建立目录时,属性为【drwxrwxrwx】-【-----w--w-】===【drw-r-xr-x】。 - 设定umask,直接在umask后面输入数字,如:umask 002。
- ll -d test[34],中括号[]代表中间有指定的字元,而不是任意字元的意思。
- root的umask一般问022,一般身份者的属性通常为002。
2.文件的隐藏属性
(1)chattr(设定文件隐藏属性)
- chattr [+-=][ASacdistu] 文件或目录
- xfs系统仅支持AadiS
| 选项 | 参数 |
|---|---|
| + | 增加某一个特殊参数,其他原本存在参数则不动 |
| - | 移除某一个特殊参数,其他原本存在参数则不动 |
| = | 设定一定,且仅有后面接的参数 |
| 属性 | 内容 |
|---|---|
| A | 当设定了 A 这个属性时,若你有存取此文件(或目录)时,他的访问时间 atime 将不会被修改, 可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目) |
| S | 一般文件是异步写入磁盘的,如果加上 S 这个属性时, 当你进行任何文件的修改,该更动会『同步』写入磁盘中 |
| a | 当设定 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设定这属性 |
| c | 这个属性设定之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩, 但是在储存的时候,将会先进行压缩后再储存 |
| d | 当 dump 程序被执行的时候,设定 d 属性将可使该文件(或目录)不会被 dump 备份 |
| i | 可以让一个文件『不能被删除、改名、设定连结也无法写入或新增数据』 对于系统安全性有相当大的帮助!只有 root 能设定此属性 |
| s | 当文件设定了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间, 所以如果误删了,完全无法救回来了。 |
| u | 与 s 相反的,当使用 u 来配置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中, 可以使用来救援该文件 |
(2)lsattr(显示文件隐藏属性)
- lsattr [-adR] 文件或目录
| 选项 | 参数 |
|---|---|
| -a | 显示隐藏文件的属性 |
| -d | 如果接的是目录,仅列出目录本身的属性而非目录内的文件名 |
| -R | 连同子目录的资料也一并列出来 |
(3)文件特殊权限:SUID,SGID,SBIT
Set UID
- 当s这个标志出现在文件拥有者的x权限上时,例如【-rwsr-xr-x】,此时就被称为Set UID,简称为SUID的特殊权限。
SUID的限制与功能:
- SUID权限仅对于二进制程式(binary program)有效,不能用在shell script上,对目录也是无效的;
- 执行者对于该程式需要具有x的可执行权限;
- 本权限仅在执行该程式的过程中有效;
- 执行者将具有该程式拥有者(owner)的权限。
Set GID
- 当s标志在文件拥有者的x项目为SUID,那s在群组的x时则称为Set GID。
SUID的功能:
- SGID可以针对文件或目录来设定;
- SGID对二进制程式有用;
- 程式执行者对于该程式来说,需具备x的权限;
- 执行者在执行的过程中将会获得该程式群组的支持。
当目录设定了SGID的权限后,具备的功能如下:
- 使用者若对此目录具有r与x的权限时,该使用者能够进入此目录;
- 使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
- 用途:若使用者在此目录下具有w的权限(可以新建文件),则使用者所建立的新文件的群组与此目录的群组相同。
Sticky Bit
- 目前只针对目录有效,对文件无效。
对目录的作用:
- 当使用者对此目录具有w,x权限,即具有写入的权限时;
- 当使用者在该目录下建立文件或目录时,仅有自己与root才有权力删除该文件。
(4)SUID/SGID/SBIT权限设定
a.在【三个数字】组合前再加上一个数字,这个数字就代表如下几个权限:
- 4 为 SUID
- 2 为 SGID
- 1 为 SBIT
b.通过符号法:
- SUID 为 u+s
- SGID 为 g+s
- SBIT 为 o+t
例
- 要将一个文件权限改为【-rwsr-xr-x】:【chmod 4755 filename】
- 要将一个文件权限改为【-rws--x--x】:【chmod u=rwxs,go=x filename】
- 要将一个文件权限改为【-rws--s--t】:【chmod g+s,o+t filename】
3.观察文件的类型:file
想要知道文件的类型是属于ASCII、data或者binary,且其中有没有用到动态函式库(share library),就可以利用file指令。
例
[root@study ~]# file ~/.bashrc
/root/.bashrc: ASCII text
[root@study ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data

浙公网安备 33010602011771号