sudoでのみ実行するカスタムbashスクリプトの設定

sudoでのみ実行するカスタムbashスクリプトの設定

update1つのコマンドで更新とアップグレードができるスクリプト(ファイル名は)を作成しました。すべて:

#! /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だけを使って実行したいようです。見るクローン操作の実行時権限は何ですか?ただし、本質的に /etc/cron.daily などの cron フォルダのいずれかにスクリプトをコピーするだけです。

sudoは重複しているので削除することをお勧めします。 Cronはこれをrootとして実行します。

答え2

$PATH変数を変更したと思いましたが、そうではありませuser_nameんでしたsudo

私はこれに驚きましたpermission denied。コマンドの先頭に対応するエントリがある場合は、sudo手動で実行するとパスワードの入力を求められます。

あなたがやりたいことについては、anがaliasより適していると思います。確認してください。 https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias

関連情報