• 締切済み

suでのコマンド実行

Kシェルのプログラミングで以下の違いが分かりません。 su - ユーザ "-c コマンド" su - ユーザ "-c 上記コマンドをシェル化" どうゆう違いなのか詳細にご教授いただけると 助かります。 よろしくお願いします。

  • cre
  • お礼率78% (11/14)

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

「上記コマンドをシェル化」というのが適切になされていれば、ほとんど違いは無いです。シェルプロセスが一つ余計に起動されるだけ。 あと、" " の付け方が間違っていると思いますが、これはタイプミスでしょうね。 su - ユーザ -c "コマンド"

関連するQ&A

  • su できません

    /etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます. 一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました. しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません. また,su -s /sbin/sh としてもできませんでした. どのようにすれば su することができるのでしょうか. 使用しているOSはsoraris7です. なにとぞよろしくお願いします.

  • Linuxのsuコマンドについて

    「su」と「su - 」の違いは、実行環境(ホームディレクトリ)を引き継ぐ/引き継がない、コマンド制限がある/無いという違いがありますが、 「sudo su - 」と「su - 」はどんな違いがあるのでしょうか?

  • suコマンドでログインできない

    linuxについてです。 krb5-telnetをインストールしています。 外部からtelnetでアクセスすると以下のようなメッセージが表示されます。 「login : cannnot resolve network address for KDC in requested realm while getting initial credentials」 また、suコマンドを入力するとスーパーユーザになれません。 (コンソールからはsuになれます) 同じような経験をしている方、御教授願えないでしょうか?

  • su でのプロセスの実行者について

    Fedora Core 6を使用しています。 su コマンドについてお尋ねしたいのですが、rootでデスクトップにログインし、GNOME 端末 でsu から任意のユーザーにスイッチした後、上部メニューバーからインターネット→Firefox Web Browser を起動した場合、このブラウザはrootで立ち上がるのかそれともスイッチしたユーザーで立ち上がるのかどちらでしょうか? 確認方法などありましたら、ご教授くださるとうれしく思います。

  • suになるためのシェルについて

    ハードウェアクロックを変更するためのシェルを作成して いるのですが上手く動いてくれないのでご教授下さい。 【仕様】 ・web上からシステムクロックを変更できるcgiがある ・システムクロック変更をサーバ側で受信するとシステム クロック変更のコマンドをsystem変数で行う ・これと同時にハードウェアクロックの変更を行いたい (システムクロック = ハードウェアクロックにしたい) 【現状】 ・root権限でログインできないためsuに変更する必要が あるがそのためのシェルスクリプトが上手く動かない (suユーザのパスワードを聞かれる) ・sudoを試してみたが同じくsuユーザのパスワードを聞 かれる。 ・Expectスクリプトは使ってはいけない… 以上です。乱文失礼しましたがよろしくお願いします。

  • suコマンドが。。。

    初心者の質問ですが、教えて下さい。 先日RedHat8.0をインストールしたのですが、root以外のログインができません。 ユーザーを追加し、パスワードを設定するところまではでき、GUI画面のユーザーとグループでも追加されていることを確認できています。 ただ、ログイン時にその追加したユーザーでログインできず、またターミナルでsuコマンドを使おうとしても、反応がありません。 画面的には、こんな感じです。 [root@xxx root]# su - aaa [root@xxx root]# このように、エラーすら出ない状態です。 ログイン時のroot以外のユーザ名を入れたときも同じ感じです。 ご助言、よろしくおねがいいたします。

  • 自動起動シェルで「su - user -c "command"」が実行できない

    初めて質問いたします。 よろしくお願いします。 OS:solaris8 OSの起動・停止時に自動起動させたいコマンドがあったので、 以下のシェル(testsh)を作成し、/etc/init.dに置き、 /etc/rc0.dにtestshに対しK99testshの名称でシンボリックリンクを作成、 /etc/rc3.dにtestshに対しS99testshの名称でシンボリックリンクを作成しました。 OS起動時には、iii.txtが削除され、 OS停止時には、jjj.txtが削除されると思うのですが、 削除されていませんでした。 OSの起動・停止時ではなく、sh -x testshで起動した場合は、 正常に動作しました。 又、suでユーザーを変更しないスクリプトに変えた場合は、OSの起動・停止時にiii.txt、及びjjj.txtが削除されていたので、 起動・停止時のsuが正常に動作していないように思います。 どなたが原因などお分かりでしょうか? 又は、手順で何か間違いなどありますでしょうか? ご教授よろしくお願いします。 以下シェル(testsh)の内容 #!/bin/sh case "$1" in start) su - user -c "rm /export/home/user/test/iii.txt" ;; stop) su - user -c "rm /export/home/user/test/jjj.txt" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0

  • Windowsでsuコマンド

    ユーザのパスワードを知ることなくユーザの環境をセットアップ できないかなと考えています。 Unixでは 管理者はsuコマンドを使いユーザのパスワードを知らなくても ログインしてユーザの環境を利用することができます。 似たような機能として runasコマンドや 別のユーザとして実行 という 機能があるのですがパスワードが必要だし、ユーザの環境をセットアップ したい時には意味がありません。 どなたか知っていたら教えてください。 よろしくお願いします。

  • suになれない

    FreBSDを勉強しようと初めてインストール(4.4)したのですが一般ユーザーからsuになろうとしてもsu: you are not in the correct group (wheel) to su root.というメッセージが出てなれないのですがどうしてなのでしょうか?あとrootでログインの際に入力でコマンドなどの途中でTABキーを押せば残りが出てくるのですが、これを一般ユーザーでログインしてやるとrootの時のようにならないのですがなぜなのでしょうか?ご教授頂けたら幸いです。

  • SSHでログイン後にsuできない。

    WindowsからPuTTYを使ってサーバ(FreeBSD7.0)に接続し、rootになろうとしています。 PuTTYを使って、一般ユーザでログインすることはできるのですが、その後、rootになろうとsuコマンドを打つと、以下のようになり、rootになれません。 【PuTTYのコンソール】 $ su Password:(rootのパスワードを入力) su: Sorry $ サーバ側でsshdのログを見ると以下のようになっております。 # /usr/sbin/sshd -ddd : Bind to port 22 on 0.0.0.0 failed: Address already in use. Cannot bind any address. 22番ポートがすでに使用されているかと思い、以下のコマンドを打ってみました。 # sockstat | grep 22 (一般ユーザ) sshd 772 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401 root sshd 769 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401 root sshd 686 3 tcp4 *:22 *:* 上記の2番目で、すでにクライアントからrootで接続しているように見えます。クライアントからは一般ユーザを使用して接続しているのみです。なぜこうなるのか全くわかりません。 この一般ユーザはwheelグループに入れてあり、通常はsuでrootになれると思うのですが、、、 見当違いなのか、また他に原因が考えられるのか、ご教授頂けないでしょうか?

専門家に質問してみよう