2.17 隐藏权限 lsattr /chattr
2.18 特殊权限 set_uid
2.19 特殊权限 set_gid
2.20 特殊权限 stick_bit
2.21 软链接文件
2.22 硬链接文件
2.23/2.24/2.25 find 命令
2.26 文件名后缀
2.27 linux 和 windows互传文件
2.17 隐藏权限 lsattr /chattr
lsattr (list attrbute),该命令用于读取文件或者目录的特殊权限
格式为: lsattr {-aR} {文件/目录名}
(1)-a :类似于ls的-a选项,即连同隐藏文件一同列出。
(2)-R :连同子目录的数据一同列出。
命令chattr (change attribute)
格式:chattr {+-=} {Asaci} {文件或者目录名} 其中,+ - 和=分别表示增加,减少和设定。设定隐藏权限的命令。
各个选项如下:
(1)A :增加该属性后,表示文件或目录的atime将不可修改。
(2)s :增加该属性后,会将数据同步写入磁盘中。
(3)a :增加该属性后,表示只能追加不能删除,非root用户不能设定该属性。
(4)c :增加该属性后,表示自动压缩该文件,读取时会自动解压。
(5)i :增加该属性后,表示文件不能删除 . 重命名 . 设定链接 . 写入以及新增数据。
以上选项中,常用选项为a和i
2.18 特殊权限 set_uid
改权限针对二进制的可执行文件,是文件在执行阶段具有文件所有者的权限。
格式: chmod u+s 或chmod u-s
上例中,rws 中的s 就是set_uid 的权限
如何对文件执行这个权限呢?改密码的权限是 /etc/shadow
用命令 #chmod u+s /usr/bin/ls 也就是给ls 加上了临时所有者的权限,反之可以 u-s
用命令 #ls -l /usr/bin/ls 查看其临时权限,会发现 /usr/bin/ls 变为红色,前面有s出现
2.19 特殊权限 set_gid
该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。
当作用在文件上时,其功能和set uid 一样,它会使文件在执行阶段具有文件所属组的权限。
目录被设置这个权限后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
格式:chmd g+s 或 chmod g-s
上面更改完所属组的权限以后,后面的变成黄色,前面在组的位置增加了小s 。
2.20 特殊权限 stick_bit
可以理解为防删除位。
文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。
如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件。
如果希望用户能够添加文件但不能删除该目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,就算用户对目录有写的权限,也不能删除其他用户的文件。
2.21 软链接文件
软连接是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。
当删除链接文件时,被链接文件不会被删除,但如果再次读取这个链接文件时,会提示无法打开文件。然而当删除被链接文件时,链接文件是不会有任何影响的。
(软连接的使用方向比较广)
建立软连接文件 建立硬链接文件 命令ln(link)
格式: #ln {-s} {来源文件} {目的文件}
该命令的常用选项是 -s ,如果不加 -s选项就是硬链接,加上 -s 选项就是软连接文件
*软连接可以是针对目录和文件
*硬链接不可以针对目录,对文件可以硬链接,但前提是不可跨分区
2.23/2.24/2.25 find 命令 (书 67页)
find 命令 (要重点学习和理解应用,常用命令)
功能:查找文件或者目录。
格式:find {路径} {参数}
常用参数如下:
(1)-atime +n/-n :表示访问或执行时间大于或小于n天的文件。
(2)-ctime +n/-n :表示写入,更改inode属性(如更改所有者,权限或者链接)的时间大于或小于n天的文件。
(3)mtime +n/-n :表示写入时间大于或者小于n天的文件,该参数用的最多。
注:-mtime -1 表示,mtime在一天之内得文件,单位是天。
-mtime +10 表示mtime在10天以上得文件。
-mmin -10,表示mtime在10分钟内得文件。
-mtime 10,表示正好为10天。
atime(access time) 是在读取文件或者执行文件时更改的。
mtime(modified time)是在写入文件时随文件内容得更改而更改的。
ctime(change time)是在写入文件,更改所有者,权限或者链接设置时随inode内容的更改而更改的。
注:inode(索引节点)用来存放档案及目录的基本信息,包含时间信息,文档名,所有者以及所属组等。inode是Unix操作系统中的一种数据结构,其本质是结构体,在文件系统创建时生成,且个数有限。
在Linux下,可以通过命令df -i 来查看各个分区的inode总数以及使用情况。
因此,更改文件的内容即会更改mtime和ctime,但是文件的ctime可能会在mtime未发生任何变化时更改。
stat命令可用来列出文件的atime,ctime,mtime
2.26 文件名后缀
(1) .sh代表它是一个shell脚本
(2) tar.gz 代表它是一个压缩包
(3) my.cnf代表它是一个配置文件
(4)test.zip 代表它是一个压缩文件
注意:早期的UNIX系统文件名最多允许14个字符,而新的UNIX或者Linux系统中,文件名最长可达255个字符。