【Linux】普通用户修改 root 权限文件,没有权限;sudo: 没有终端存在,且未指定 askpass 程序

现象

在php 使用 ssh2_connect 执行

echo 'rootpwd' | sudo sh -c 'echo -e "file content" > /rootfile '

报错信息:

sudo: 没有终端存在,且未指定 askpass 程序

解决问题:

方法一:

直接修改 rootfile 文件权限

chown normal:normal /rootfile

方法二:

修改 vim /etc/sudoers 添加

normal   ALL=(ALL) NOPASSWD:/rootfile

方法三:

增加一个group A,把root和normal放在group A中。
rootfile的所有者为root,但所有组变成A。
rootfile的权限变成660。

该方法未测试

groupadd A
usermod -G A normal
usermod -G A root
chown A:root /rootfile
chmod 660 /rootfile
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章