如何限制用户从垃圾文件夹中删除文件?

如何限制用户从垃圾文件夹中删除文件?

我想限制我的用户从垃圾箱中删除文件。另外,我不希望我的用户绕过垃圾箱删除文件。有什么办法吗?

答案1

不,用户始终能够删除他们拥有的文件(除了一些对于桌面来说不可行的复杂 ACL 设置)。

答案2

ubuntu 中的垃圾桶只是用户主文件夹下的一个特殊子目录,根据定义,它属于该用户。即使您更改了文件权限,用户也可以将其改回,然后删除该文件。

如果您想避免数据丢失,更好的解决方案是设置自动备份 - 这样可以恢复任何被删除的内容。

答案3

第一部分

我们将更改已删除文件的属性,以便只有 root 可以将其改回并最终删除。

1)编辑 /etc/rc.local 如下:

/bin/sh -e #!/bin/sh -e
#
# rc.local
#
# 此脚本在每个多用户运行级别结束时执行。
# 确保脚本在成功或出现任何其他情况时“exit 0”
# 错误值。
#
# 要启用或禁用此脚本,只需更改执行
# 位。
#
# 默认情况下此脚本不执行任何操作
# 但 desgua 改变了它
# 保留已删除文件的副本
当 [ “$var1” != “结束” ]
sudo chattr +i /home/user_name/.local/share/Trash/files/*
睡眠2
完毕
出口 0

4)使其可执行。

sudo chmod +x /etc/rc.local

5)重新启动或注销并重新登录。

ps-1:为了让处理器更轻松,属性每 2 秒更改一次。您可以根据需要进行更改。ps
-2:要删除属性“i”(不可变),只需执行:

sudo chattr -i /home/user_name/.local/share/Trash/files/*

第二部分

禁用绕过垃圾。

1)打开 gconf-editor。

gconf-编辑器

2)转到/apps/nautilus/preferences/enable_delete,右键单击它并“设置强制”。

第三部分
禁用 Shift + Del

我们将修改键盘映射。

1)创建文件

纳米〜/.Xmodmap

2)粘贴并保存:

键码 119 = 删除 BackSpace

观察:使用“xev”检查键盘 Del 是否确实是“键码 119”

3)我们确实不想删除这个文件,所以:

sudo chattr +i ~/.Xmodmap

5)重启、注销或执行:

xmodmap ~/.Xmodmap

现在完成了!

  • 最后编辑 04/07/2011

答案4

desgua 的回答涵盖了您的所有要求(在我看来,应该是可以接受的答案),但我认为有必要强调几点:

  • 无论您对垃圾箱中的文件做什么,您都将在用户可控制的文件夹 ( $HOME/.local/share/Trash) 中编辑文件及其权限。并且由于您无法删除对用户 $HOME 的权限,因此用户可以撤消任何更改。

  • Gnome 配置也是如此,例如 nautilus 首选项和键盘绑定。最多,您可以更改默认行为,但是,任何用户都可以为其自己的会话覆盖此设置。

  • 那么rm类似的 CLI 命令呢?rm这只是一个例子,但用户可以使用大量其他命令来删除(或销毁)自己的文件。您打算完全删除终端吗?那么 Gnome 的 ALT+F2(运行应用程序)呢?

我的观点是:无论做什么,它都是用户文件,是用户会话,如果他们愿意(并且知道如何)的话,他们将能够绕过你所做的任何保护。desgua 的答案很棒,但请注意,它只是表面的,只有在你拥有非技术用户时才有用。它意味着方便而不是真正的安全措施。

没有真的除非您真的以一种非常不寻常的方式改变整个发行版,否则无法真正实现您想要的目标。

话虽如此,为什么你到底想要这个吗?为了安全还是为了方便?对用户进行适当的 Linux 培训不是比这更好(也更容易)吗?

相关内容