どのようにスクリプトbashを書く:su - 私にパスワードを要求せずに、ユーザー、コマンド、パスワード、? [複製]


1

この質問にはすでに答えがあります。

私はファイルsh(bashスクリプト)を作成します

#!/bin/bash
su - username -c XXXXXXXX

xxxxxx =コマンド

どこに私のパスワードを入れますか?


1
rootパスワードをスクリプトに入れるのは 非常に 悪いアイデア。 sudo su より良い解決策かもしれません。 (そしてsudoは特定のコマンドに対してパスワードなしで動作するように設定することができます)。
Hennes

危険ではありません。私の家ではなく、リモートでもサーバーでもありません。
Manuel songokuh

回答:


1

あなたは自分の sudoers ファイル。あなたはこれと呼ばれるプログラムでこれをするでしょう visudo舞台裏の魔法をする。

sudoers どのユーザーにも、限られたセットまたはシステムで使用可能なすべてのコマンドへのアクセス権を付与できるようにセットアップできます。ユーザーが他のユーザーとして任意のコマンドを実行できるように設定することもできます。私はこの3番目の方法があなたが行くことに決める方法だと思います。

しかし、これが本当にやりたいことであると判断した場合は、実行したいコマンドを決めて、ホワイトリスト方式を使用するのではなく、すべてのコマンドをロック解除することをお勧めします。

Chromium、Firefox、またはsudoersファイル内のユーザーとしてインターネットに公開されているサーバー/クライアントを、パスワードなしの自由なアクセス権で実行している場合は、それらをrootで実行することもできます。

  1. visudo
  2. 以下のエントリを追加してください
    • user1 ALL =(user2)NOPASSWD:/ bin / bash

user1@host $ sudo -u user2 cat /home/user2/.ssh/authorized_keys

リソース:

  1. パスワードなしで他のユーザーにsudoを許可する
  2. visudoのmanページ
  3. UbuntuのSudoersドキュメント

#:/ bin / bash visudoユーザー名ALL =(user2)NOPASSWD:/ bin / bash user1 @ host $ sudo -u user2 echo "banana"これは正しいですか、それとも間違っていますか。
Manuel songokuh

盲目的にこれをしないでください。読む、読むこれを誤った方法で実行すると、深刻な問題を引き起こしたり、脆弱性を引き起こす可能性があります。について読む visudo。について読む sudoers
earthmeLon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.