Команда Linux copy

Например, у меня есть два пользователя A и B, и A имеет права администратора.

Я вошел в систему как B и хочу знать, как я могу скопировать /etc/sudoers в домашний каталог B одной командой, и после копирования /etc/sudoers он должен принадлежать пользователю B по умолчанию, без использования chmod ], chown.

Надеюсь, я дал понять.

1
задан 13 August 2013 в 16:58

2 ответа

Если Вы не хотите использовать chown или chmod, можно использовать один из следующих методов (в любом случае, у Вас должны быть полномочия пользователя root читать /etc/sudoers файл):

sudo cat /etc/sudoers > ~/sudoers

или:

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

В обоих случаях, после ~/sources файл создается, принадлежит текущему пользователю.

2
ответ дан 13 August 2013 в 16:58

Файл /etc/sudoers не может быть прочитан другим пользователем, кроме пользователя root или пользователей из группы root.

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
0
ответ дан 13 August 2013 в 16:58

Другие вопросы по тегам:

Похожие вопросы: