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


15

我正在使用Ubuntu 12.04,并且我想使用su命令保护其他用户的某些图片(我具有管理员权限)。如何在仍允许其他用户读取文件的同时使用终端保护文件?


我希望任何人都可以查看它,它无法编辑删除它
Jatttt

@ user222588听起来足够清晰,无后顾之忧
Bruno Pereira

方法取决于文件在哪里,它们在哪里?一个USB,您的主硬盘驱动器?
Braiam 2014年

Answers:


25

默认情况下,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

同时仍然能够阅读它:

~> cat asd
asd
...
Videos

发出chattr +i文件“锁定”后,只有具有root权限的用户使用设置该文件,才能进行更改chattr -i


向我的朋友致敬。如此好的解释。
rɑːdʒɑ

8

只需在您的终端中使用以下命令即可(CTRL+ ALT+ T

chmod 700 -R /path/to/directory

这怎么了?负有适当理由的否决票,值得赞赏
rɑːdʒɑ

1

在终端上尝试以下命令,

chmod u-rw /path/to/directory

上述命令不允许其他用户或组读取或写入存储图片的目录。

chmod u+rw /path/to/directory

要恢复所做的更改,请运行以上命令。


1
请提供拒绝的理由。
Avinash Raj

2
我想这是因为您是在剥夺所有者而不是其他用户和组的权利。
Ben Voigt 2014年

0

如果要加密文件,则可以使用bcrypt加密和解密文件。它使用河豚文件加密。

类型: sudo apt-get install bcrypt安装。

安装后,键入sudo bcrypt file-name以对其进行加密。


0

我建议使用Truecrypt将加密的“可移动磁盘”创建为1个文件。例如,如果您创建1GB Truecrypt分区,则可以使用密码保护此文件。(专家选项:您可以为该文件设置2个密码:使用第一个密码可以看到文件的正常部分,使用密码2可以看到隐藏的部分)您可以在Linux,MacWindows中挂载此文件(挂载到驱动器e:)然后您将显示1GB的文件,就像笔式驱动器/闪存驱动器一样,可以根据需要卸载。

如果创建该1GB文件(或任何大小,或完整的磁盘或Pendrive),则可以添加该文件的任何扩展名以使其隐藏。(不要将该文件作为secret.truecrypt.file.with.pwd大声笑放在您的主目录中)

如果您在系统文件夹中使用任何系统文件名,则普通用户可能永远不会注意到它不是系统文件,而是私有加密文件。

例如,隐藏此文件:

/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3

其他临时文件名:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • 选择一种方案并更改文件名的编号。

  • 并设置权限...完成后删除历史记录控制台命令

  • 使用该解决方案,普通用户将永远找不到您的秘密文件。

  • 在Pendrive中,建立一个TEMP文件夹并使用一个临时文件名,例如文件示例。并以不同的名称进行少量备份...

您可以根据需要安装 truecrypt,例如:

sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt

Truecrypt主页中的更多信息


0

如果通过保护意味着完全禁止对这些文件进行任何修改,请考虑使用chattr实用程序。它具有选项标记文件为不可变的(无法更改)。

chattr +i /home/username/pictures/example1.png

这将防止所有用户,甚至根用户都无法删除或修改任何设置为不可变的文件。

您可以通过将“ + i”替换为“ -i”来撤消此操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.