• ベストアンサー

su前のユーザー名もしくはUIDを知るには?

Wr5の回答

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.4

>SUを実行すると、環境変数がすべてSU後のユーザーのものになってしまいます 必ずしもそうとは言えないのでは? su - ならば切り替わりますが。 今回の本題では内容なので置いておいて… suで一般ユーザーになった後、さらにsuで……とかいうのはナシでよいのでしょうか? つまり、元々ログインしたユーザーを知りたい。ということで…。 ps auf | head -n 2 | tail -n 1 | awk '{print $1}' でどうでしょう? と、ここまで書いてから#3で指摘されているwhoコマンドを試してみました。 そちらの方が早そうですな。 # せっかく書いたのでこのまま投稿。

hachibay
質問者

お礼

ご回答ありがとうございます! Wr5さんからの回答からヒントを得て ps Tu | head -n 2 | tail -n 1 | awk '{print $1}' でできましたっ!! なんか深夜に無駄に一人で感動してしまいました. ありがとうございますっ!

関連するQ&A

  • su - soft

    まだ初心者ですが業務でsoralis8を使っています。 su - softでsoralis上で動くGUIアプリを起動することがあります。このコマンドを実行するとXサーバーを指定するDISPLAY環境変数が表示され、IPアドレスを打つと画面が立ち上がります。(Xクライアントに起動を指示している??) ここで質問なのですが、su - はユーザーを変えるコマンドだと認識しています。普通アプリケーションは立ち上がらないと思うのですが・・・??。 試しにsoftというユーザーは存在するようですが、ホームディレクトリ(/home/なにも無し)は見当たりませんでした。つまりホームディレクトリにある設定ファイルなどから起動されているようではないようです・・・。なぜ立ち上がる(Xクライアントに指示できる)のでしょうか? また、こういうことは一般的なのでしょうか? ご存知の方、ご教授お願いします。

  • su できません

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

  • Windowsでsuコマンド

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

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

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

  • suアカウント

    android2.2端末でadb shell中からsuコマンドを実行すると  su: unknown id: root と表示されます。 rootアカウントがないわけは無いと思い、/etc/passwdを見ようと思いましたがファイル自体が存在しません。 タスクマネージャ上では「スーパーユーザーv3.0.7)」が動作している状況です。 root権限が必要なTitanium Backupを起動すると「root権限を取得できませんでした」と出ます。 (root権限を与えていいかのダイアログがでない) rootという名称でないアカウントがrootなのでしょうか? 何か確認方法があったら教えて下さい。

  • ログインするときにユーザー名がでない。

    ログインするときにユーザー名がでない。 ログインするときにユーザー名を選択すると思いますが、postgresという名のユーザー名が 選択できません。(他のユーザー名はちゃんと表示もされますし、選択もできます。) 端末からのコマンドでは「su - postgres」でユーザーを変更できますが、 GUIのデスクトップ環境で最初からpostgresユーザーでログインしたいと思っております。 どうかご教示お願い致します。 OSはfedora10 デスクトップ環境はGnome2.24.0です。

  • ユーザー権限でログインするとsuでもフルパスコマンド?

    root権限でifconfigとすると実行されますが、普通のユーザー権限で一旦suでroot権限になっても、ifconfigとすると -bash: ifconfig: command not foundとなります。 いちいち/sbin/ifconfigとしなければいけないので不便です。 コマンドごとにどのディレクトリにあるか知っていないと使えないし、whichコマンドも効かないので困っています。 何か良い方法はありますか? suにしてroot権限

  • suでバーナーを出なくする方法

    su - ユーザ名 -c コマンド名 をbshスクリプトから実行したら、必要の無い 「Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001」 のバーナーがでてしまいます。 /etc/motdで定義されているのは知っているのですが、ログイン時だけでsu時は出さなくする方法を教えて下さい。 ちなみにsuするユーザはcshがデフォルトです。

  • Linux  CentOS shellスクリプト内でユーザーをスイッチする方法教えて下さい。

    困っています。ご存知の方教えて下さい。 一般ユーザーでshellスクリプトを実行して、root権限にスイッチして、root権限のみに許されたコマンドを実行してから、 一般ユーザーに戻る方法がわかりません。 ターミナルで sudo su コマンドを実行すると、対話式でパスワードを入力できますが、スクリプト内で対話式のパスワードを入力してrootに ユーザーをスイッチする方法がわかりません。 ------------ !#/bin/sh mkdir /home/user1/tmp ←一般ユーザーで実行したいコマンド sudo su ←ここでパスーワード入力して rootに権限スイッチ mkdir /var/log/aaa   ←root権限で実行したいコマンド su user1 touch /home/user1/bbb ← 一般ユーザーに戻ってコマンド実行 ------------ 環境:CentOS5 お願いします。

  • ユーザー環境変数の一覧

    システム環境変数とログインしている環境変数それと、 存在する全てのユーザーに対する環境変数を取得するプログラムをC言語作成したいのですが、どうすればよいのでしょうか? OSはWindows2000です。 言語は問いません、VC++2005かC#かVB.NETのどれでも構いません。