Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > etcライブラリ > Etcモジュール > getlogin
getlogin -> String | nil
[permalink][rdoc]自分の login 名を返します。得られなかった場合は nil を返します。
getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、 現在ではなくログイン時のユーザを返します。
このメソッドが失敗した場合は Etc.#getpwuid に フォールバックするとよいでしょう。
たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。
require "etc" login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name