Thomas Asked: 2018-08-16 05:13:06 +0800 CST2018-08-16 05:13:06 +0800 CST 2018-08-16 05:13:06 +0800 CST 为什么以 user1 和 su - user1 -c "command" 运行时会有不同的结果? 772 在同一目录 ( /home/user1/WWW )中以user1身份运行时 [user1@server1 WWW (master)]# touch c 在目录中创建文件 c。 [root@server1 WWW (master) ACCEPTATIE SERVER]# su - user1 -c "touch c" 给出错误 触摸:无法触摸“c”:权限被拒绝 为什么会这样? sudo group 1 个回答 Voted Best Answer Kusalananda 2018-08-16T05:27:56+08:002018-08-16T05:27:56+08:00 当您这样做时,su - username您将作为该用户执行完全登录,这意味着您将被转移到用户的主目录。当touch c以这种方式执行时,您因此尝试在用户的主目录中运行该命令。 相反,-从命令行删除: su user1 -c "touch c" 这将在当前目录touch c中执行。user1 推测: 原始命令失败,因为另一个用户拥有的主目录中su -已经有一个名为的文件c。user1
当您这样做时,
su - username
您将作为该用户执行完全登录,这意味着您将被转移到用户的主目录。当touch c
以这种方式执行时,您因此尝试在用户的主目录中运行该命令。相反,
-
从命令行删除:这将在当前目录
touch c
中执行。user1
推测:
原始命令失败,因为另一个用户拥有的主目录中
su -
已经有一个名为的文件c
。user1