-1

私は64ビットのCentos 5 Linuxを使用しています。これは Python2.4 に付属していますが、psycopg2 を取得するには 2.6 以降が必要でした。Python2.7.3 を実行するための仮想環境をインストールしました (このhttp://toomuchdata.com/2012/06/25/how-to-install-python-2-7-3-on-centos-6-2/に基づく) ) root としてログインすると、問題なく動作するようになりました。

しかし、root 以外のユーザーである joshmoe として virtualenv を使用できるようにする必要があります。(そして、この別のユーザーとして postgresql を開始/停止します)

virtualenv に入るコマンドは次のとおりです。

source /root/Python-2.7.3/projectdir/bin/activate

当然のことながら、このコマンドを joshmoe として実行すると、許可が拒否されたというメッセージが表示されます。

-bash: /root/Python-2.7.3/projectdir/bin/activate: Permission denied

このコマンドを joshmoe で使用できるようにするために、/etc/sudoers を編集して次の行を含めました。

joshmoe ALL=NOPASSWD: /root/Python-2.7.3/projectdir/bin/activate

joshmoe ログインから実行すると、次のようになります。

sudo source /root/Python-2.7.3/projectdir/bin/activate

私は以下を取得します:

sudo: source: command not found

このファイルのソースを指定するためにsudoersファイルを正しく使用していないことは明らかです-その「アクティブ化」ファイルへのアクセスを正常に許可しているようですが、組み込みのソース機能にはアクセスしていないようです。次の行のいずれかで、sudoers で構文エラーが発生します。

joshmoe ALL=NOPASSWD: source 

joshmoe ALL=NOPASSWD: source /root/Python-2.7.3/projectdir/bin/activate

私は身震いする声明の良い例をたくさん見つけました。しかし、これを機能させる構文がわかりません。これを入手したら、'service postgresql status' などのステートメントにアクセスできるようになることを願っています。

4

2 に答える 2