su -c "my command" "someuser"を実行しているUbuntuとCentos 7の間に違いはありますか?

su -c

UbuntuとCentos 7で次のコマンドを試しました。

su -c  "./bin/server"  swrun

swrunUbuntuではルートから始まりますが、Centos 7では起動しないことがわかりました。

Centos 7では/etc/init.dの下のサービススクリプトを使用してこのコマンドを実行しますが、Ubuntuは/etc/initの下のconfファイルを使用してこのコマンドを実行します。この2つの方法の間に違いはありますか?

UbuntuとCentos 7の違いは何ですか?それとも私のコマンドに問題があるのでしょうか?

ご提案いただきありがとうございます!


Ubuntuのconfスクリプトの一部:

script
    sh /usr/share/huiertep_setup/script/run_selfcheck.sh
    sh /usr/share/huiertep_setup/script/run_raid_status_check.sh
    ROOT_DB_PASSWORD='abd32532@het'
    
    echo "SET GLOBAL log_bin_trust_function_creators = 1" | mysql -u root -p${ROOT_DB_PASSWORD}
    cd /usr/share/server
    su -c "./bin/server" swrun
end script

しかし、私を混乱させるのは、su -c "./bin/server" swrun このスクリプトの外で実行されたことですが、そのプロセスはまだルートによって開始されます。

ベストアンサー1

おすすめ記事