2012-12-08 27 views
-1

我securty应用程序需要使文件以任何方式或任何其他解决方案undeleteable做同样的事情
plz dont告诉我让它只读(它的安全)
有没有在nio pakege帮助我的事情!如何使文件无法删除在Java?或给它的访问权限也admin无法删除它?(Windows 7)

+5

即使管理员使文件无法被删除本身也会导致安全漏洞。 – Perception

+0

必须是没有人可以编辑文件其他创建文件甚至管理员 –

回答

0

恐怕我没有准备好的证明,但我相信这是不可能的。甲骨文公司不会向Java那样添加这样的功能,因为只要做到这一点,他们就会面临巨大的法律风险。正如Perception所暗示的那样,它可能很容易被滥用。

出于好奇,你想用这个完成什么?

0

文件系统在此处形成限制。基本上,管理员可以随时读取或写入文件,但我不知道有哪些文件系统可以禁止任何人进行编辑。

+0

可以设置NTFS权限,以便即使管理员不能*意外*删除文件。但出于安全考虑,这样做是没有用的,因为管理员可以轻松获取文件的所有权来覆盖限制。 – cHao

1

有点黑客,并没有充分证明将打开你的Java应用程序中的文件流。这应该会阻止其他人删除该文件。只要你的Java应用程序关闭,但它可能会被删除。程序运行时,用户也不能编辑它。不是一个好的解决方案,因为我认为它有太多的漏洞(例如,当Java程序启动时需要知道文件名,需要让java程序一直运行,用户不能做任何事情来存档,用户可以杀死java进程等),但是对于它应该工作的小利基要求

+0

请注意,这会增加磁盘使用量并且是不需要的。看起来像最好的'解决方案'虽然。 – siebz0r

+0

请注意,这仅适用于锁定打开文件(例如Windows)的平台。并非所有平台都这样做。 – EJP

1

不,你不能这样做,这样的应用程序不会被称为“安全应用程序”,而是某种形式的恶意软件,病毒,间谍软件等。管理员拥有并且必须完全控制文件系统。唯一的例外是操作系统的某些关键文件,这些文件受os本身的保护,因为如果它们被删除就会崩溃。 Java对文件系统设置任何类型的安全权限没有任何支持(文件属性不完全是安全权限)