如何保护文件免受用户更改?

Jat*_*ttt 16 files

我使用的是 Ubuntu 12.04,我想使用 su 命令保护另一个用户的一些图片(我有管理员权限)。如何使用终端保护文件,同时仍允许其他用户阅读?

Bru*_*ira 26

Ubuntu 默认使用 EXT4 文件系统格式(我假设我们在这里不讨论任何其他内容)。

如果您不想在不删除用户读取该文件的能力的情况下获得该文件的所有权,您可以首先允许他们读取该文件,但不能使用以下命令写入该文件:

chmod a-w,ug+r foo_file

描述:更改文件权限,都不能,用户+组可以

然后可以使文件不可变,这样即使具有 root 权限的用户也无法更改,然后使用以下命令:

sudo chattr +i foo_file

为了能够删除甚至修改此文件,您需要使用以下命令:

sudo chattr -i foo_file

然后你就可以用它做点什么了。

使用它的好处是大多数用户(和管理员)从未在 Linux 中体验过不可变文件。

那是用户在尝试删除(或更改)文件时会看到的:

~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

同时仍然能够阅读它:

~> cat asd
asd
...
Videos
Run Code Online (Sandbox Code Playgroud)

发出chattr +i文件“锁定”后,在具有 root 权限的用户使用chattr -i.


rɑː*_*dʒɑ 8

正如下面在你的终端使用(CTRL+ ALT+ T

chmod 700 -R /path/to/directory
Run Code Online (Sandbox Code Playgroud)