我有一个文件text1,在这个上只有一个用户(user1)具有读,写,执行权限,世界其他地方(user2)具有读取和执行权限。 我想过有一个脚本可以改变文件text1的内容,如下所示,将由user2执行
sed -i' / s / eg1 / eg0 /'文本1
我想修改上面的脚本来改变text1的内容而不直接给user2写入权限。我的意思是说user2不能直接写入text1但是当他执行脚本时,text1的内容应该被修改,因为它不可能在text1上提供直接写访问权
答案 0 :(得分:0)
sudo
可以允许user2
以user1
执行该命令。为此,请运行sudo visudo
。这将打开一个编辑器。将以下行添加到该文件的底部
user2 ALL=(user1) NOPASSWD: /bin/sed -i s/eg1/eg0/ text1
保存文件并关闭编辑器。完成此操作后,user2
可以执行以下命令:
sudo -u user1 sed -i 's/eg1/eg0/' text1
visudo
将打开一个依赖于系统的默认编辑器。该编辑通常来自vi
家庭。如果是,请按G
以到达文件底部i
以进入插入模式,键入或粘贴该行,然后按Escape
退出插入模式,然后键入{ {1}}保存并退出。
请注意,:x
文件中输入的行不应包含可能在命令行中使用的引号。