在 GNU/Linux 操作系统中,除非您成为 root 用户,否则无法更改文件的所有权。但是,如果我想在向某人发送文件之前隐藏系统的用户名,因为像 tar 这样的东西会尝试保留它,该怎么办?
我的想法是这样的
# mkdir --mode=????? /tmp/nobodysfiles
# chown nobody:nobody /tmp/nobodysfiles
$ whoami
popcorneater
$ ls -l ~/file
-rw-r--r-- 1 popcorneater popcorneater 12345 oct. 18 11:10
$ cp ~/file /tmp/nobodysfiles/
$ ls -l /tmp/nobodysfiles/file
-rw-r--r-- 1 nobody nobody 12345 oct. 18 11:11
答案1
在 a 中准备您的档案假根会议。 Fakeroot 的设计目的正是为了在构建存档之前准备好目录结构的所有权和权限。
fakeroot bash
chown -R root:root nobodysfiles
tar czf nobodysfiles.tgz nobodysfiles