如何设置NTFS权限才能使文件可以被读取,但无法被删除、写入、改名

drifter250771 2007-11-21 08:31:45
[code=BatchFile]
attrib D:\111.txt +R
echo Y| cacls D:\111.txt /P Administrators:R
[/code]
此时D:\111.txt可以读取,但无法删除、写入。
问题是它现在还是可以被改名~~~除非什么权限也不给。
如何解决此问题。
...全文
1876 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
drifter250771 2007-12-14
  • 打赏
  • 举报
回复
算了,散分吧
drifter250771 2007-11-25
  • 打赏
  • 举报
回复
楼上的有试过你这个方法?这样设置后是无法改名,但无法被读取,甚至还可以直接删除。。。

权限情况如下:
[code=BatchFile]
D:\>cacls D:\111.txt
D:\111.txt Everyone:(DENY)(特殊访问:)
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
STANDARD_RIGHTS_REQUIRED
FILE_WRITE_DATA
FILE_APPEND_DATA
FILE_WRITE_EA
FILE_WRITE_ATTRIBUTES



D:\>ren D:\111.txt 222.txt
拒绝访问。

D:\>del D:\111.txt

D:\>
[/code]
除非事前给D:\111.txt用attrib +R,此时才不能删除
但目前此文件已经不能被读取,这种设置没有意义了
drifter250771 2007-11-25
  • 打赏
  • 举报
回复
前两位朋友谈到非管理员的问题
我试了一下,确实D:\111.txt在取消继承、并且作如下设置的情况下
[code=BatchFile]attrib D:\111.txt +R
echo Y| cacls D:\111.txt /P users:R[/code]
一个users组的用户能正常读取该文件,但无法删除、写入、改名。

但问题似乎不是出在身份上,而是跟D:\111.txt的上级目录的权限有关,因为users对D盘根目录的权限基本是只读。
我把Administrators对D盘根目录的权限设置成只读类型,然后D:\111.txt在取消继承、并且作如下设置的情况下[code=BatchFile]attrib D:\111.txt +R
echo Y| cacls D:\111.txt /P Administrators:R[/code]
Administrators可以读取D:\111.txt,但无法删除、写入、改名。

那这么说来,一个文件能否被改名,跟文件本身的权限无关;只与上级目录的权限有关,改名这种行为是属于上级目录权限的一部分?
那我让Administrators对D盘根目录拥有完全控制权限,然后把D:\111.txt的所有权限清空。此时又无法修改D:\111.txt的文件名了,这种现象又作何解释呢?

头大了。。。
流水之风 2007-11-23
  • 打赏
  • 举报
回复
是可以的,你可以按照下面的步骤来操作(以下步骤以WINXP为例子,WIN2000、WIN2003有一点区别)

01.首先将要保护的文件放到一个目录或者盘符根目录下(这里要注意的是设置完毕后和要保护的文件在一起的子目录、文件都将被一起保护,所以最好是将要保护的文件放在一个指定的目录里)
02.打开我的电脑,选择菜单栏上的“工具”→“文件夹选项”→“查看”,将里面的“使用简单文件共享”前的钩去掉,按下“确定”按钮
03.对着存放着要保护的文件的目录按下鼠标右键,选择“共享和安全”选项,在弹出的对话框中切换到“安全”选项页,点击“高级”按钮
04.点击“添加”按钮
05.点击“高级”按钮
06.点击“立即查找”按钮
07.在列出的账号中找到everyone账号,选择它,然后按下“确定”按钮
08.在弹出的对话框中将拒绝那边的“创建文件/写入数据”、“创建文件夹/附加数据”、“写入属性”、“写入扩展属性”、“删除子文件夹及文件”、“删除”、“更改权限”、“取得所有权”的钩钩上,然后按下“确定”按钮
09.将“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”的钩钩上,然后一直按下确定按钮即可
10.此时设置的目录中的所有文件就被保护起来了

注意:如果你要设置为其他账号或组不能删除、改名、写入,那么请在第7步中选择其他账号,第7步中的everyone是指所有人,包括了administrators组的用户,如果你希望你的账号可以正常操作这个目录里的文件,那么你可以新建一个组,然后在这里将你新建的组选中,然后在上面的设置全部完毕后将要限制的账号添加所隶属的组为你刚才新建的账号即可。但是需要注意的是系统默认所有administrators组的用户都可以获取所有权,所以如果你不想别人可以通过获取所有权来重新取回权限并修改权限,你可以修改本地安全策略使能够获取所有权的只有你的账号即可,但是要获取所有权还是有一定的方法的,而且如果别人使用的账号是administrators组的话保护程度也是会降低的。
chewanxiu 2007-11-22
  • 打赏
  • 举报
回复
asministrator组用户系统默认给与所有权限
你通过别的组用户试一下可以修改吗?(只给于读取权限)
yedsky 2007-11-21
  • 打赏
  • 举报
回复
asministrator组用户之外的才可以这样搞

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧