Shell

從另一個文件複製所有權和權限?

  • January 27, 2022

是否有命令或標誌可以從另一個文件複製一個文件的使用者/組所有權和權限?使權限和所有權與另一個文件完全一致?

在 GNU/Linux 上chownchmod有一個--reference選項

chown --reference=otherfile thisfile
chmod --reference=otherfile thisfile

在任何帶有 GNU 實用程序的 unix 上,例如(非嵌入式)Linux 或 Cygwin,您都可以使用chmod --referencechown --reference.

如果您的系統有ACL,請嘗試 ACL 命令getfaclsetfacl. 這些命令因係統而異,但您可以使用許多命令getfacl other_file | setfacl -bnM - file_to_change來複製權限。這不會複製所有權;您可以通過仔細解析 來做到這一點ls -l other_file,假設您沒有包含空格的使用者名或組名。

LC_ALL=C ls -l other_file | {
 read -r permissions links user group stuff;
 chown -- "$user:$group" file_to_change
}
getfacl other_file | setfacl -bnM - file_to_change

引用自:https://unix.stackexchange.com/questions/20645