我有一个反复使用的程序rsync
将数据发送到目的地,rsync
该程序使用的脚本不需要密码即可发送数据,因为我使用了公钥认证机制rsync
。但该程序需要运行,sudo
因为它也使用了一些内核实用程序,但每当我使用它sudo
运行该程序时,它总是在调用脚本时提示输入密码rsync
。
有没有办法缓解这个问题?
答案1
我认为您可能不是该服务器的管理员,而管理员已设置此服务器以提高安全性。如果您是管理员,您可以按照以下步骤操作,否则您可以直接要求管理员进行更改。
那么你可以做什么:
如果您要求您输入用户密码:
1-获取您的用户名和组 ID (gid):
id
2-检查 sudo 配置文件:
grep <username> /etc/sudoers
grep <gid> /etc/sudoers
如果该行以 % 开头,您必须看到该组的条目;否则您的用户名条目不带 % 符号:
%<gid> ALL=(ALL) ALL
执行 visudo 编辑 /etc/sudoers :
visudo
现在你应该添加(无密码:)使 sudo 不询问您的用户密码:
%<gid> ALL=(ALL) NOPASSWD: ALL
如果您要求您输入根密码: 执行 visudo 编辑 /etc/sudoers :
visudo
删除上面的行以禁用 /etc/sudoers 上的 rootpw 标志,这样就不会要求您输入 root 密码:
Defaults rootpw