Sir*_*rlo 306
我不会说这是一个多么糟糕的主意。简单地说,sudo在 crontab 中运行需要您的密码以明文形式存储在某处。
这是个坏主意。
以下是通过 cron 运行管理任务的首选方法。既然你真的不需要sudo在crontab里写,如果你是修改root的crontab。
运行以下命令:
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
这将打开root的 crontab。sudo没有必要在此上下文中运行您的命令,因为它root无论如何都会被调用。
因此,您只需将以下内容附加到 root 的 crontab。
@hourly rm somefile
Run Code Online (Sandbox Code Playgroud)
现在,如果你绝对想不安全并用你的密码冒险,下面将从你自己的 crontab 运行你的命令,并在提示时自动输入你的密码sudo。
同样,不推荐这样做。
在你自己的 crontab 中,像这样写你的命令:
@hourly echo "password" | sudo -S rm somefile
Run Code Online (Sandbox Code Playgroud)
这里明显的缺点是,如果有人访问您的 crontab,您的密码将以明文形式可读。
你不应该这样做。
tgm*_*883 43
如果您从 cron 目录 ( /etc/cron.*)之一中放置脚本,那么您不需要使用 sudo,因为它以 root 身份运行。
如果您使用的是 crontab,那么您将需要使用 root 的 crontab。这将以 root 身份运行它,也不需要 sudo。
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
在终端中运行以下命令
sudo visudo
Run Code Online (Sandbox Code Playgroud)
将以下行添加到文件末尾:
vidyadhar ALL= NOPASSWD: /bin/rm
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,vidyadhar 是用户名,如果你通过vidyadhar 运行rm 命令,它不会要求输入密码。
| 归档时间: |
|
| 查看次数: |
309527 次 |
| 最近记录: |