現象
在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