需要在 linux 和 win 上如何创建一个只能查看不能删除文件、或文件夹。linux 上面已经解决。
windows 上面不知道的 怎么操作。 也找不到关于 win 的目录权限的相关资料,感觉十分复杂。
右键文件夹属性里面,我凭感觉设置一通, 但是还是可以删除。不知道哪里设置不对。(当前账号和 everyone 都设置过)
1
mmdsun OP 对了 我图片传的网盘。 这个网盘厉害了。恐怕有 10 年了 今天发现还活着。
|
2
Bryan0Z 2018-05-06 00:39:50 +08:00 via Android
设个只读?
|
4
webjin1 2018-05-06 01:03:50 +08:00 via Android
linux 是不是 chattr +i
|
5
fyyz 2018-05-06 01:05:17 +08:00 via Android
smb 挂载,设置权限只能读取不能写入
|
6
1stPLACE 2018-05-06 01:16:27 +08:00
可你这个网盘并不能外链
|
7
wevsty 2018-05-06 01:17:53 +08:00
Windows 上对只读文件调用 DeleteFile 是会失败的。
至于 NTFS 权限,设置一下 everyone 的删除权限为拒绝应该就可以。 |
8
cdwyd 2018-05-06 01:17:54 +08:00 via Android
弄个网页
|
10
innoink 2018-05-06 01:18:15 +08:00 via Android
我记得我大一的时候做过文件系统过滤驱动,能过滤所有文件操作,不知道现在还行不行
|
14
geelaw 2018-05-06 01:40:46 +08:00
怎么会是 bug ?用最简单的思考就知道这要是一个 bug 也不能是这么晚才发现的吧?
答案是因为,虽然你对文件 /文件夹拒绝了删除的权限,但该文件 /文件夹所在的文件夹,你具有“删除子文件夹和文件”权限。 考虑 C:\A\B\C 是一个文件,又假设 C:\A 上 Everyone 的 effective access 是 Full control,考虑下面的情况: 若 B 上 Everyone 的 effective access 是 Full control,但 C 上拒绝了删除,则你可以删除 C,因为你允许 Everyone Delete subfolders and files in B。 若 B、C 上 Everyone 的 effective access 不包含任何删除权限,则 B、C 都不能被删除。 |
15
mmdsun OP 这样也不行,我就是右键文件 在属性-- 安全 里面改的 不知道还有没有别的方法 。
这是我对一个单独的 文件 设置的 删除 设置的拒绝 还是可以删掉。 ![img]( http://ys-i.ys168.com/597891853/mnojxvm4N1H6L337LPFK/test.PNG) |
16
geelaw 2018-05-06 01:49:44 +08:00
此外 #14,你可能会疑惑为什么 B 被拒绝 Delete,但是 A 上你有 Delete subfolders and files 的权限,你却不能删除 B ——既然 B 是 A 的 subfolder ?
答案是,删除一个文件夹的条件是该文件夹非空,因此要删除 B 必须先删除 C,Delete subfolders and files 仅应用于 直接子项目,因此 C 不能被删除,所以 B 也不能。 |
17
ericls 2018-05-06 04:46:51 +08:00 via iPhone
immutable
|
18
honeycomb 2018-05-06 08:14:52 +08:00 via Android
让用户不是这个文件的所有者,剥夺用户对这个文件读以外的权限。
但最后可能还是要通过禁止管理员权限来落实。 |
19
echaos 2018-05-06 13:58:47 +08:00 via Android
你可以试着手动删除 Adobe 文件
|
20
gam2046 2018-05-06 15:33:36 +08:00 1
cacls 了解一下,根据以往的经验,这个比设置 NTFS 权限靠谱多了,换管理员、重装系统都没用,该不能访问,就是不能访问
|
21
crb912 2018-05-06 16:09:49 +08:00 via Android
windows 下,还有不能被删除的文件吗?似乎只要没被进程占用,就可以被删除。
|
23
geelaw 2018-05-07 16:40:54 +08:00
我感到十分困惑,因为 #14 #16 已经给出了完整的解答,居然没有任何人看起来去 acknowledge 这个解答——仿佛问题还没有解决一样。
另外: @ericls #17 没看懂。 @honeycomb #18 禁止管理员权限是必须的,因为管理员总是可以 take ownership,进而修改 ACL。你可能漏看了 #14 的提示——简单拒绝删除是没有用的。 @gam2046 #20 这个说法是错误的,因为 cacls/icacls 和文件资源管理器设置权限的功能是一样的,都是设置 NTFS 权限,不存在差别。不靠谱的可能是使用的人,而不是工具。 @crb912 #21 权限控制都是依赖操作系统完成的,自然你必须要设置恰当的权限才能完成。文件被进程占用而不能被删除也是操作系统完成的。“就可以被删除”显然是假设了管理员权限,但如果假设管理员权限,你就可以停止占用一个文件的进程,然后删除文件。(即使文件是被 Windows 核心进程占用,具有管理员权限也可以去调试这些进程,并完成相应的操作。) |