学习总结4.9 Linux文件/目录特殊属性

Linux中文件/目录常见的属性的所属者、所属组、创建时间和最新修改时间等外,还存在些隐藏属性,这些隐藏属性在保护系统文件的安全性上非常重要。

Linux使用lsattrchattr两个命令查看和修改文件/目录的特殊属性。

接下让我们详细的学习lsattrchattr的使用方法。

chattr

chattr的作用是修改文件/目录的特殊属性。

具体命令如下:

chattr [+|-|=] 属性标示符 命令参数 文件/目录

常用命令参数如下:

 
  1. -R:递归处理,将指令目录下的所有文件及子目录一并处理;
  2. -V:显示指令执行过程;
 
  1. +<属性标示符>:开启文件或目录的该项属性;
  2. -<属性标示符>:关闭文件或目录的该项属性;
  3. =<属性标示符>:指定文件或目录的该项属性。

常用属性标示符:

 
  1. a:让文件或目录仅供附加用途;
  2. A:不更新文件或目录的最后存取时间;
  3. c:将文件或目录压缩后存放;
  4. d:将文件或目录排除在倾倒操作之外;
  5. i:不得任意更动文件或目录;
  6. s:保密性删除文件或目录;
  7. S:即时更新文件或目录;
  8. u:预防意外删除。

执行权限:chattr必须以root权限才能执行,如果是普通用户想执行chattr时,需要在命令前加sudo命令来提升权限为root权限。

案例演示1

为文件testFile设置为不得任意更动,具体使用如下命令:

 
  1. sudo chattr +i testFile

将文件testFile设置为i隐藏属性后,试图删除,可以看到无法对其进行删除操作。

案例演示

将目录testDir以及目录下所有内容一并设置为不得任意更动,具体使用如下命令:

 
  1. sudo chattr +i -R testDir

试图删除testDir目录下的file1文件,可以看到无法删除。

案例演示

testFile文件的i属性取消,具体使用如下命令:

 
  1. sudo chattr -i testFile

可以看到删除i属性后,既可以删除该文件。

lsattr

lsattr的作用查看文件/目录的特殊属性设置情况。

具体命令如下:

lsattr 命令参数 文件/目录

常用参数如下:

 
  1. -R:递归的操作方式;
  2. -V:显示指令的版本信息;
  3. -a:列出目录中的所有文件,包括隐藏文件。

案例演示1

查看目录testDir下所有内容的特殊属性,具体使用如下命令:

 
  1. lsattr -Ra testFile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux 4.9及更高版本中,`/etc/rc.local`文件仍然存在,但默认情况下已经被禁用。这是因为现代Linux发行版通常采用systemd作为系统初始化管理器,而不是使用传统的sysvinit或upstart。 在systemd中,可通过编写一个systemd unit文件来代替`/etc/rc.local`文件的功能。这个unit文件可以在系统启动时自动执行脚本或命令。您可以使用`systemctl`命令来管理systemd unit。例如,您可以使用以下命令创建一个名为`my-script.service`的systemd unit文件: ``` sudo nano /etc/systemd/system/my-script.service ``` 在该文件中添加以下内容: ``` [Unit] Description=My script [Service] ExecStart=/path/to/my/script.sh [Install] WantedBy=multi-user.target ``` 然后使用以下命令重新加载systemd配置: ``` sudo systemctl daemon-reload ``` 最后,启用并启动该服务: ``` sudo systemctl enable my-script.service sudo systemctl start my-script.service ``` 这将在系统启动时自动运行`/path/to/my/script.sh`脚本。 ### 回答2: 在Linux 4.9下,/etc/rc.local仍然具有一定的用途,但已经不再被推荐使用。 /etc/rc.local是一个系统启动脚本,用于在系统启动时执行一些自定义的命令和脚本。它位于/etc目录下,并且在启动过程的最后被执行。以前,这是一个常见的实现自启动任务的方法。 然而,自Linux 4.9版本开始,systemd代替了传统的sysvinit作为Linux的初始化系统。systemd下的启动配置文件被放置在不同的目录中,而不再使用/etc/rc.local。通过systemd,可以使用systemctl来管理系统启动过程中的服务和任务。 虽然/etc/rc.local仍然可以使用,并且在一些旧的系统上仍然有效,但对于新的Linux系统,建议使用systemd的服务单元来管理自启动任务,而不是在rc.local中编写脚本。systemd的服务单元使用更为现代化的方式和更清晰的结构来定义启动任务,提供了更多的灵活性和可靠性。 总的来说,如果您使用的Linux版本为4.9或更高,虽然/etc/rc.local仍然可以工作,但更好的选择是使用systemd的服务单元来管理自启动任务。 ### 回答3: 在Linux 4.9版本下,/etc/rc.local文件的作用仍然存在,但已经不再被推荐使用。 /etc/rc.local是一个在系统引导时自动执行的脚本,用于在启动过程中执行一系列命令或程序。它可以用于自定义系统启动时需要进行的一些特定操作。 然而,随着Linux发行版的发展和使用systemd作为初始化系统的普及,/etc/rc.local的使用逐渐被废弃。systemd使用单元文件(unit files)代替rc.local的功能,并提供更加强大和灵活的启动管理能力。 使用systemd,可以通过编写和配置服务单元文件来实现自定义启动脚本的功能,而不再依赖于/etc/rc.local。这些单元文件可以启动和管理各种系统服务,包括网络服务、系统日志以及自定义脚本等。 因此,虽然在Linux 4.9版本下仍然可以使用/etc/rc.local,但推荐使用systemd的单元文件来替代它。这样可以充分利用systemd的特性,提高系统启动管理的灵活性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值