当运行为用户1在同一目录中(/home/user1/WWW)
[user1@server1 WWW (master)]# touch c
在目录中创建文件 c。
[root@server1 WWW (master) ACCEPTATIE SERVER]# su - user1 -c "touch c"
给出错误
触摸:无法触摸“c”:权限被拒绝
为什么会这样呢?
答案1
当您执行此操作时,su - username
您将作为该用户执行完整登录,这意味着您将转移到该用户的主目录。因此,当以这种方式执行时touch c
,您会尝试在用户的主目录中运行该命令。
-
相反,从命令行删除:
su user1 -c "touch c"
这将执行touch c
如下user1
当前的目录。
推测:
原始命令失败,因为 的主目录中已经存在另一个用户拥有的su -
名为 的文件。c
user1