“成名用户:丢失/找到的用户”有害吗?


10

最近,我创建了一个加密的文件系统(crypto_LUKS),该文件系统仅可用于一个特定用户的$ HOME(即,我将其安装为/home/pduck)。我还添加了一个适当的条目,/etc/security/pam_mount.conf.xml以便在用户登录时自动解密并挂载分区(在用户注销时卸载)。效果很好。

因为$ HOME本身是一个文件系统,所以用户在其中具有lost+foundroot:root拥有的目录。我知道删除目录不是一个好主意,但是许多命令(例如find)抱怨无法访问。这让我很烦。

出于好奇,我删除了目录并使用mklost+found(不带sudo)重新创建了目录。现在,该目录归pduck:pduck拥有。可以,该目录由root:root拥有还是至关重要?


并非所有文件系统都具有一个丢失+找到的目录。例如,Ext4可以,XFS可以。
jornane

这不是一个答案,但是您可以创建一个脚本或别名来查找(最好使用不同的名称),该脚本或别名以a开头,2>/dev/null从而使这些错误消息静音。如果将其放在开头,那么它将不会干扰您希望在每次调用中传递的任何参数。

Answers:


11

好的建议带有基本原理,因此您可以分辨出什么时候变为坏的建议。

lost+found由root拥有的目的是使无论丢失了谁的文件,都不会突然暴露给所有人。但是,在这种情况下,整个文件系统中不应有一个非pduck拥有的文件。因此,lost+found不被pduck拥有是没有不利的。

*除非出现异常情况,例如pduck su扎根并运行X应用程序。但是,如果pduck可以使用,sudo或者su我们什么都没说,因为pduck可以彻底破坏系统安全性。


6

lost+found 是系统目录,因此避免篡改系统目录和文件的所有权和权限。

find除非我提升命令行的权限,否则还有其他目录(和文件)会引起抱怨,因此建议您使用

sudo find ...

并保持lost+found原样(应该/应该)。


2
是的,我以为如此,但是OTOH有mklost+found创建该命令的命令,它是由拥有的。也许这只是一个可怕的书面命令,它不会检查$UID!=0;-)而且,我不喜欢被迫(或多或少)sudo在我自己的$ HOME中使用的想法。
PerlDuck

lost+found我认为它已经很老了,从UNIX的早期开始,我真的不知道现在什么时候使用它。但是我认为,避免篡改系统目录和文件的所有权和权限是一个好的通用策略(除非您真的知道在幕后会发生什么)。
sudodus

5
fsck遇到“丢失”的文件时,不会将文件放在那里吗?想法是fsck已经有放置文件的位置(而不是首先创建一个文件)。请注意,lost+found比普通的空目录(4096字节)占用更多的空间(16384字节)。
PerlDuck

是的,至少这是最初的目的(类似于chkdskMSDOS中丢失文件的目的),但是我很少看到Linux中有任何数据。也许日记可以将文件还原到以前的位置,所以它们不必转到lost+found。-顺便说一句,我在中有一个lost+found目录/home,但是在我的主目录/home/sudodus中没有,所以它不会打扰我。
sudodus

1
我同意。而且/home我还有另一个l+f(也不打扰我),因为/home/home/pduck是我机器上的单独分区。后者是加密的,前者则不是。但是,当它使我非常烦恼时,我可以将$ HOME挂载到其他位置,然后将其绑定安装到实际的$ HOME(例如,如我在此处概述的内容),以完全摆脱l+f我的$ HOME。///我将在几分钟/几小时后删除我的评论,以避免出现“扩展讨论…聊天”的警报。
PerlDuck

4

关于lost + found目录,没有什么真正的神奇之处。与其他任何目录一样,它只是一个普通目录,仅用于保存在系统崩溃或文件系统损坏后的fsck期间发现的丢失的文件/目录。

它是在mkfs期间创建文件系统时创建的,通常是空的。默认权限的唯一原因是,避免在fsck期间发现并恢复敏感文件后,普通用户看不到它们。在现代时代,很少会丢失文件并将其放入该文件夹。

如果将其删除,我相信如果碰巧需要将任何文件放入其中,fsck将根据需要重新创建它。由于这是一个仅适用于一个用户的文件系统,仅需一个人的数据即可,无需隐藏数据,因此我认为没有理由不能将权限更改为755,以防止find抱怨或更改它。所有权。fsck可能会在恢复过程中重置其权限,但这在现代文件系统上很少发生,除非发生严重的硬件故障。

至于只是删除它,我相信围绕它的所有偏执都是基于fsck尽可能少地恢复数据的事实,但是我认为在实践中并没有太大的意义。

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.