我们正在覆盖Berkeley Community Media上mac guest用户的默认帐户,我正在编写一个Java程序,准备通过Terminal覆盖默认用户。
要使用该程序,用户必须将已编辑的默认帐户的根目录复制到其桌面或类似程序中,并将该文件路径用作参数。程序继续从Library文件夹中删除一堆不必要的文件夹和文件,以便该帐户可以覆盖默认模板。
该程序在我为测试我的代码而创建的测试文件夹上进行尝试时有效,但是当我尝试在实际帐户文件夹中使用它时(当然在我的桌面上)它会输出“无法删除[名称] “,这是我写的用于表示失败的file.delete()的println,并且该文件未被删除。
如果我添加自己的文件并将其添加到要删除的文件列表中,它会起作用,这很奇怪。
另外,我不确定导致这种情况的原因,但是当我通过Finder删除文件时,它会要求管理员权限,即使我有读取+写入权限,并且ls -l看起来像这样:
drwxr-xr - + 12 Sam54123 staff 408 Mar 10 00:21嘉宾
我不确定那个+是什么,所以如果有人能够对可以理解的情况有所了解。我很确定这是Unix的问题,而不是我的代码。
答案 0 :(得分:0)
ls
手册说:
否则,如果文件或目录具有扩展安全信息(例如访问控制列表),则为权限字段 由-l选项打印后跟一个'+'字符。
和
-e Print the Access Control List (ACL) associated with the file, if present, in long (-l) output.