如何通过linux中的脚本对文件进行间接访问

时间:2014-11-18 07:01:06

标签: linux shell unix permissions sudo

我有一个文件text1,在这个上只有一个用户(user1)具有读,写,执行权限,世界其他地方(user2)具有读取和执行权限。 我想过有一个脚本可以改变文件text1的内容,如下所示,将由user2执行

sed -i' / s / eg1 / eg0 /'文本1

我想修改上面的脚本来改变text1的内容而不直接给user2写入权限。我的意思是说user2不能直接写入text1但是当他执行脚本时,text1的内容应该被修改,因为它不可能在text1上提供直接写访问权

1 个答案:

答案 0 :(得分:0)

sudo可以允许user2user1执行该命令。为此,请运行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文件中输入的行不应包含可能在命令行中使用的引号。