设置自定义 bash 脚本仅以 sudo 身份运行

设置自定义 bash 脚本仅以 sudo 身份运行

我制作了一个脚本(文件名是update)来通过一个命令进行更新和升级。一切都是:

#! /bin/bash
sudo /usr/bin/apt-get update
sudo /usr/bin/apt-get upgrade

我使用了完整路径,并将其放在自己的目录中/home/user_name/custom_scripts。我还确保将此目录指定为root,权限列出为

drwxr-xr-x. 2 root root 4096 Aug 23 00:12 custom_scripts

可执行脚本是:

-rwx------. 1 root root 73 Aug 23 00:12 update

我编辑了我的路径,使其看起来像这样/home/user_name/custom_scripts:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games,但由于某种原因,如果我输入 ,则不会执行sudo update。最奇怪的是,如果我只是尝试update,我就会得到一个permission denied例外。

我不太确定出了什么问题。

答案1

听起来你想让它只使用 Cron 运行。看一下cron 作业的运行时权限是什么?但本质上只需将脚本复制到 cron 文件夹之一,例如 /etc/cron.daily

我还建议删除 sudo,因为它是多余的。 Cron 将以 root 身份运行它。

答案2

我认为您已经更改了 $PATH 变量,user_name但没有更改sudo

我对此感到惊讶permission denied,如果您sudo在命令的开头有,那么当您手动运行它时,它应该要求您输入密码。

对于你想要做的事情,我认为 analias会更合适,请检查 https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias

相关内容