私はいくつかのサーバーで行っている管理作業を自動化するためにファブリックを使用しようとしています。一般的な流れは以下の通りです:ローカルユーザーとファブリックスクリプトをルートとして実行中
- SSH
- 実行:
sudo su -
は残念ながら
:)
run('sudo su -')
を使用すると、スクリプトの実行をブロックし、ユーザーの入力を許可します。 exit
またはCtrl+D
と入力すると、sciptは再開されますが、ルート特権はありません。 私はSwitching user in Fabricで同様の問題を見てきましたが、私は次の行が含まれている/etc/sudoers
ファイルを変更することが許されておりませんので、私はsudo su -
に制限しています:
localuser ALL = /usr/bin/su -
私がしようとして生地のソースを閲覧回避策を見つけることができますが、成功しません。
http://docs.fabfile.org/en/1.4.2/usage/env.html#sudo-prefixとこの例を参照してください。http://stackoverflow.com/questions/12641514/switch-異なるユーザー使用のファブリック – alecxe
'sudo_prefix = 'su - -c''を使用するには、その記事で説明されているようにrootパスワードが必要です。 'sudo_prefix = 'sudo su - -c''私はこのエラーメッセージを受け取りました。「残念ですが、ユーザlocaluserは/ usr/bin/su -c/bin/bash -l -c pwd」を実行できません。 root on hostname.' – Marin
'shell = False'を設定しても効果がないようです。'pty = False'を設定すると、' sudo:no tty presentとno askpass program specified 'というエラーが返されます。 – Marin