我正在尝试使用 删除 NetApp 服务器上的文件smbclient //servername/share -c "deltree directory_to_delete"
。它适用于设置了只读标志的文件夹。在这种情况下,命令将中止并显示NT_STATUS_CANNOT_DELETE
。
我可以使用 查看标志smbclient //servername/share -c "ls directory_to_delete/*"
并使用 删除它们smbclient //servername/share -c "setmode directory_to_delete/subdir_with_ro_flag -r"
,但只能针对每个目录。
有没有办法自动执行此操作(递归删除只读标志)或任何其他方式如何递归删除具有只读子目录的目录?
顺便提一句。 Windows 资源管理器在删除此类目录时不会抱怨(使用相同的凭据)。我确信它会默默地删除 ro-flag。
答案1
NetApp 的解决方案是启用该选项cifs.perm_check_ro_del_ok
。
options cifs.perm_check_ro_del_ok on
来源:https://library.netapp.com/ecmdocs/ECMP1196993/html/GUID-627F5269-6DE9-4FC8-BBC1-B1F34101FDFA.html
顺便提一句。目录上的只读标志具有与预期完全不同的含义,请参阅这里。