Команда Linux copy
Например, у меня есть два пользователя A и B, и A имеет права администратора.
Я вошел как B, и я хочу знать, как я могу скопировать /etc/sudoers в домашнем каталоге B одной командой и после /etc/sudoers копируется, он должен принадлежать пользователю B по умолчанию, без использования chmod, chown,
Я надеюсь, что я ясно дал понять.
2 ответа
Если вы не хотите использовать chown или же chmod, вы можете использовать один из следующих методов (в любом случае вам нужно иметь права суперпользователя для чтения /etc/sudoers файл):
sudo cat /etc/sudoers > ~/sudoers
или же:
touch ~/sudoers
sudo cp /etc/sudoers ~/sudoers
В обоих случаях после ~/sources Файл создан, принадлежит текущему пользователю.
Файл /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