Linux chattr 文件或目录隐藏权限设置命令.

    

chattr 命令,专门用来修改文件或目录的隐藏属性,只有 root 用户可以使用。

常用选项:

选项

功能

    i

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

   a

如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;

   u

设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录

   s

和 u 相反,删除文件或目录时,会被彻底删除(直接从硬盘上删除,然后用 0 填充所占用的区域),不可恢复。


示例:

    【例 1】 给文件赋予"i" 隐藏权限。如图1所示。

图片关键词

图1 设置有 "i"隐藏权限的文件,即便是 root 用户,也无法删除和修改数据。


可以看到,设置有"i"隐藏权限的文件,即便是 root 用户,也无法删除和修改数据。


【例 2】 给目录赋予"i"隐藏权限。如图2所示。

图片关键词

图2 一旦目录赋予"i"隐藏权限即使是 root 用户,也无法在目录内部新建或删除文件,但可以修改文件内容。

一旦给目录设置 i 隐藏权限,即使是 root 用户,也无法在目录内部新建或删除文件,但可以修改文件内容。那么怎么取消该"i"隐藏权限,只需使用"-i"选项即可。如图3所示。


图片关键词

图3 取消"i"隐藏权限后一切恢复正常


【例 3】 给目录赋予"a"隐藏权限。假设有这样一种应用,我们每天自动实现把服务器的日志备份到指定目录,备份目录可设置 a 属性,变为只可创建或修改文件而不可删除。如图4所示。

    图片关键词

图4 赋予隐藏权限"a"的目录是不能删除文件但可以新建或编辑修改文件内容


赋予隐藏权限"a"的目录除了可以创建文件或编辑修改文件内容还可以创建目录,但不能删除被赋予隐藏权限"a"目录下的任何文件或目录。

注意,通常情况下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目录的隐藏属性,很容易导致系统无法启动。另外,chatrr 命令常与 lsattr 命令合用,前者修改文件或目录的隐藏属性,后者用于查看是否修改成功。


Linux lsattr 文件或目录隐藏权限查看命令.

    常用选项:

        -a: 后面不带文件或目录名,表示显示所有文件或目录(包括隐藏文件或目录)

        -d:如果目标是目录,只会列出目录本身的隐藏属性,而不会列出目录下的文件或子目录的隐藏属性信息

        -R:和-d恰好相反,作用于目录上,会连同目录以及目录下的文件或子目录隐藏属性信息一并显示出来

 

示例:

    1、查看所有包含隐藏的文件或目录是否有隐藏权限,如图5所示。

图片关键词

图4 使用-a选项查看所有文件或目录包含隐藏的


2、只查看目录本身是否有隐藏权限,如图5所示。

图片关键词

图5 “-d”选项只查看其目录本身


3、想查看目录下所有文件与子目录是否有隐藏权限,如图5所示。

图片关键词

图5 "-R"选项查看其目录下的所有文件或子目录是否有隐藏权限但不查其目录本身