セントOS 6.5
サーバーは特にAWS AMIです。これ
upstartを使用して起動時にプロセスを開始しようとしています。
この特定のボックスでは、root
ログインが無効になり、sudo
何かを実行する必要があるたびにパスワードの入力を求められます。
したがって、単にコマンドをスクリプトに入れるだけでは機能しません。
追いかけようとするこの回答、成功できませんでした
/ect/init ディレクトリに次の rio.conf ファイルがあります。
start on runlevel [2345]
stop on runlevel [!2345]
exec echo Password! | sudo -s /usr/bin/riofs --fuse-options="allow_other" --fmode=0777 --dmode=0777 xx.xxxxxx /mnt/applications/recorder/streams/_definst_/s3
これを実行するたびに何も起こらないようです。
Password!
これは単なるサンプルパスワードです。
編集する:
入力すると、exec /usr/bin/riofs
SSHウィンドウが閉じて戻ってくると機能することがわかります。これが何を意味するのか、どのように自動化するのかは全くわかりません。
ベストアンサー1
sudo
init / upstartスクリプトにある必要はありません。デフォルトでは、すべてのinit / upstartサービスはrootとして実行されます。
このように考えてみてください。どのユーザーで起動スクリプトを実行しますか?個人ユーザーとして実行したい場合はなぜですか?システムはスクリプトだけを見ることができ、個々のユーザーが誰であるかはまったくわかりません。
つまり、exec
行を次のように変更します。
exec /usr/bin/riofs --fuse-options="allow_other" --fmode=0777 --dmode=0777 xx.xxxxxx /mnt/applications/recorder/streams/_definst_/s3
結局私はそれをしません。ファイルシステムをマウントしています/etc/fstab
。次の作業が必要です。
riofs#xx.xxxxxx /mnt/applications/recorder/streams/_definst_/s3 _netdev,allow_other,fmode=0777,dmode=0777 0 0