Команда 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