ログインとパスワードを引数として渡すことにより、ユーザーが管理者としてコマンドを実行できるようにするために、シェルスクリプトで現在のユーザーを変更したいと考えています。
私は次のようなことをする能力が欲しい:
sh ./script.sh login password
そして、スクリプト内では、次のようなものです:
sudo $1 $2 etc...
ただし、これを明確にコーディングする方法がわかりません。
助けてくれてありがとう
ログインとパスワードを引数として渡すことにより、ユーザーが管理者としてコマンドを実行できるようにするために、シェルスクリプトで現在のユーザーを変更したいと考えています。
私は次のようなことをする能力が欲しい:
sh ./script.sh login password
そして、スクリプト内では、次のようなものです:
sudo $1 $2 etc...
ただし、これを明確にコーディングする方法がわかりません。
助けてくれてありがとう
sudoers(5) ファイルでは、非常に複雑な権限とコマンド仕様を使用できます。単純な例として、グループ内の全員がパスワードを必要とせずに root として単一のスクリプトを実行できるようにすることができます。これは、アクセスを制限しながら、はるかにスクリプト可能です。例えば:
# /etc/sudoers
%somegroup ALL=(ALL:ALL) NOPASSWD:/path/to/script.sh
スクリプトはデフォルトで root として実行されるため、スクリプト内でこれ以上面倒なことをする必要はありません。
これは、スクリプト関連であるため、スタック オーバーフローのトピックとは多少関係があります。ただし、sudoers ファイルの構成に関して追加の質問がある場合は、代わりにSuperUserで質問する必要があります。
私は sudo コマンドの経験が限られていますが、テキストエディターでコードを作成し、chmod コマンドを使用して権限を変更し、人々がコードにアクセスできるさまざまな方法を使用できることを知っています。
より具体的には、.command ファイルを取得したら、エミュレーターに移動して chmod と入力します。その後にスペースを追加すると、実際にコードを操作できるユーザーをカスタマイズできます。たとえば、chmod a+rwx は、全員 (a) が読み取り、書き込み、および実行 (rwx) の特権を持つことができることを意味します。chmod を使用する方法はたくさんあります。この Web ページは、それらの方法を見つけるための優れたリソースです: http://www.zzee.com/solutions/how-to-use-chmod.shtml
chmod および user/permissions パラメータの後に、最後にコードのファイルパスを追加して、UNIX に chmod するファイルを伝えることができます。その後、CodeGnome が提案したように、コードを実行する可能性のある管理グループのメンバーを手動で変更して、柔軟性を高めることができます。