Linux 复制命令

Linux 复制命令

例如,我有两个用户 A 和 B,其中 A 具有管理员权限。

我以 B 身份登录,我想知道如何才能使用/etc/sudoers单个命令复制 B 主目录,并且/etc/sudoers复制后它必须默认由 B 用户拥有,而不使用chmod, chown

我希望我已经表达清楚了。

答案1

如果您不想使用chownchmod,您可以使用以下方法之一(无论如何您都需要具有 root 权限才能读取/etc/sudoers文件):

sudo cat /etc/sudoers > ~/sudoers

或者:

touch ~/sudoers
sudo cp /etc/sudoers ~/sudoers

在这两种情况下,~/sources文件创建后都归当前用户所有。

答案2

除了该用户或该组内的用户/etc/sudoers之外,其他人无法读取该文件。rootroot

ls -l /etc/sudoers
-r--r-----. 1 root root 669 Jun 28  2012 /etc/sudoers

意思是,如果用户 B 没有管理权限,他就不可能读取(更不用说复制)文件sudoers。这是出于明显的安全原因而设计的,因为用于提升权限的密码哈希值sudo就在那里。

为了防止cp保留属性,您可以使用--no-preserve=开关:

sudo cp --no-preserve=ownership /etc/sudoers .

这样做的问题是,它将夺取运行该命令的用户的所有权(在本例中root),因此所有权将保持不变,但它适用于没有严格权限的其他文件。

$ ls -l /etc/vdpau_wrapper.cfg 
-rw-r--r-- 1 root root 51 May  5 19:19 /etc/vdpau_wrapper.cfg
$ cp --no-preserve=ownership /etc/vdpau_wrapper.cfg .
$ ls -l vdpau_wrapper.cfg 
-rw-r--r-- 1 braiam braiam 51 Aug 13 09:28 vdpau_wrapper.cfg

相关内容