我将在使用 ACL 的文件系统中递归地修改文件所有权。因为它是我的备份磁盘,所以我想在运行脚本之前征求对脚本的评论。
#!/bin/bash
# Replace Foobar, Bob, and Brand.
PREFIX="/Volumes/Foobar-Time-Machine/Backups.backupdb/Bob’s MacBook"
SUFFIX="/Brand/Users/"
USER="bob"
for dir in "${PREFIX}"/*/
do
chmod -R -a "group:everyone deny chown" "${PREFIX}${dir}${SUFFIX}${USER}"
chown -R $USER "${PREFIX}${dir}${SUFFIX}${USER}"
chmod -R =a# 1 "group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown" "${PREFIX}${dir}${SUFFIX}${USER}"
done
您是否发现灾难即将发生?第一个 chmod 旨在删除最小 ACL,第二个旨在恢复它。脚本可以变得更安全吗?不用说,该脚本将作为 sudo 运行。
答案1
我会将 find 与 '-print0' 和 xargs 一起使用... ACL 很神秘,最好不要使用它们。