У меня есть один файл text1, на этом только одном пользователе читал (user1), запишите, выполните полномочия, остальные страны (user2) прочитали и выполняют полномочия. Я думал о наличии одного сценария, который изменяет содержание файла text1 как, ниже которого будет выполняться user2
sed -i '/s/eg1/eg0/' text1
Я хочу изменить вышеупомянутый сценарий для изменения содержания text1 с прямым предоставлением доступа для записи к user2. Я означаю говорить, что user2 не был должен способный непосредственно записать в text1, но когда он выполняет сценарий, содержание text1 должно быть изменено, поскольку не возможно дать прямой доступ для записи на text1
Попробуйте эту процедуру:
changeText.sh
делают его исполняемым файлом:
chmod 755 changeText.sh
устанавливает SUID (Идентификатор пользователя владельца набора на выполнении) разрешение:
chmod u+s changeText.sh
После этого changeTest.sh
похож:
-rwsr-xr-x 1 user1 user1 xxxx nov 15 2014 /path/to/file/changeText.sh
SUID дает временные полномочия пользователю запустить программу с полномочиями владельца файла скорее, что пользователь, который выполняет его.
В другом слове, когда user2
выполнения /path/to/file/changeText.sh
получат файл owner’s полномочия и изменят текст в файле text1, даже если user2
не будет иметь разрешения записи.
Здесь полезная ссылка.