他のユーザーでコマンドを実行する方法

他のユーザーでコマンドを実行する方法

コマンドを実行できますか?

  • パラメータは-最初に(ダッシュ)で始まります。/usr/bin/echo -n foo
  • 他のユーザーやグループでは、例えばapache:apache
  • コマンドの使用su
  • /sbin/nologinログインシェル?に設定されている場合

私は試した:

  • su -s "/usr/bin/echo" -g apache apache -n foo
    • display 失敗しますsu: invalid option -- 'n'。最初のパラメータがダッシュで始まらないようです。
  • su -c "/usr/bin/echo -n foo" -g apache apache
    • nologin: invalid option -- 'c'ログインシェルが-cうまくいかないと表示が失敗します。/sbin/nologin

ベストアンサー1

su -s /bin/bash -c "/usr/bin/echo -n foo" -g apache apache
  • -s /bin/bashnologin を無視し、-cオプション値の解釈を許可します。
  • -c "/usr/bin/echo -n foo"ダッシュで始まる最初の引数を避けることができます。

おすすめ記事