自動化したい
Sudo su - user
スクリプトから。次に、パスワードを要求する必要があります。
私はあなたが尋ねたものを試して推測します。
パスワードなしでSudo su - user
を使用する場合は、(特権がある場合)sudoersファイルに対して次のことを行う必要があります。
<youuser> ALL = NOPASSWD: /bin/su - <otheruser>
どこ:
<yourusername>
はあなたのユーザー名です:D(saumun89、つまり)<otheruser>
は変更先のユーザーです次にスクリプトに入れます:
Sudo /bin/su - <otheruser>
これを行うと、後続のコマンドが<otheruser>
によって実行されることはなく、新しいシェルが生成されます。この他のユーザーとしてスクリプト内から別のコマンドを実行する場合は、次のようなものを使用する必要があります。
Sudo -u <otheruser> <command>
そしてsudoersファイルで:
<yourusername> ALL = (<otheruser>) NOPASSWD: <command>
明らかに、次のようなより一般的な行:
<yourusername> ALL = (ALL) NOPASSWD: ALL
物事を成し遂げますが、誰とでも何でもする許可を与えます。
コマンドを使用できます
echo "your_password" | Sudo -S [rest of your parameters for Sudo]
(もちろん[と]なし)
許可されていないユーザーからの読み取りアクセスからスクリプトを保護する必要があることに注意してください。別のファイルからパスワードを読み取りたい場合は、
Sudo -S [rest of your parameters for Sudo] < /etc/Sudo_password_file
(または、パスワードと単一の改行を含むパスワードファイルの名前は何でもかまいません。)
須藤のmanページから:
-S The -S (stdin) option causes Sudo to read the password from
the standard input instead of the terminal device. The
password must be followed by a newline character.
最も簡単な方法は、ユーザーがパスワードをまったく入力する必要がないようにすることです。
これを行うには、visudo
を実行してから、次のような行を変更します。
someuser ALL=(ALL) ALL
に
someuser ALL=(ALL) NOPASSWD: ALL
ただし、1つのスクリプトのみの場合は、パスワードなしのアクセスをそのスクリプトのみに制限し、(ALL)
を削除して、rootとしてのみ実行できるようにし、ユーザーは実行できないようにする方が安全です。
Cmnd_Alias THESCRIPT = /usr/local/bin/scriptname
someuser ALL=NOPASSWD: THESCRIPT
man 5 sudoers
を実行して、 sudoersのマニュアルページ のすべての詳細を確認します。
Root以外のアカウントのログイン資格情報を保存したPuTTYまたはmobaを介してシェルセッションにログインする場合、PuTTYまたはmobaによるログイン時に実行されるこのコマンドを追加するだけで、rootへのアクセスがすぐに切り替わります。
echo "PASSWORD" | Sudo -S su - && Sudo su
または、python pudo package: https://pypi.org/project/pudo/1.0.0/ を使用することもできます
インストール:
user$ Sudo -H pip3 install pudo # you can install using pip2 also
以下は、root権限でcmdを実行するためのpython自動化で使用するためのコードスニピットです::
user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'
以下は、ルート権限でコマンドを実行するためのコマンド例です
user$ pudo ls /root
Desktop Downloads Pictures Music