yay
私は権限を高めるために(archlinuxの)プログラムを使用しますsudo
。ただし、見つからないsudo
場合に切り替えます。これは私のユーザーがsudoerではなくインストールされているので(実行中にインストールする必要がある他のプログラムがsu
あるため)私が望むものです。ルートとして、私はこれが愚かなことであることを知っています。)sudo
sudo
今問題は、このプログラム( )が存在しないとyay
思うようにしながら、どのように実行できるかということです。sudo
ソースからパッケージをビルドしてインストールするのは、yay
パッケージマネージャ(AURヘルパー)です。セキュリティ上の理由から、これらのビルドはrootとしては実行できません。これは十分に公平です。
そしてすでに質問しました。ここリポジトリにありますが、yay
問題が解決されている間に代替ソリューションを使用したいと思います。
ベストアンサー1
私が考えることができる唯一の回避策は、yay
rootで起動してsudo
開始する前に一時的に削除するラッパースクリプトを使用することですyay
。
#!/bin/sh
su -c "mv /sbin/sudo /sbin/sudo.old" && yay "$@"
su -c "mv /sbin/sudo.old /sbin/sudo"
ただし、これを行うには、ルートパスワードを2回入力する必要があります。別のオプションは、root でスクリプトを実行した後、次をsu
使用してスクリプト内から別のユーザーに切り替えることです。
#!/bin/sh
normalUser="$1"
shift
mv /sbin/sudo /sbin/sudo.old &&
su -c "yay $@" $normalUser
mv /sbin/sudo.old /sbin/sudo
その後、次のように実行できます。
su -c "/path/to/yay.wrapper.sh adrin $yayArguments"
あなたの場合は実際には使用しないので安全でなければなりません。ただし、問題が発生した場合は簡単に検索できるようにsudo
コピーを作成します。/sbin/sudo