現在のユーザーID・グループIDは、「id」コマンドで取得することができます。
$ id
uid=1000(lintaro) gid=1000(lintaro) groups=1000(lintaro),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)
これだとシェルスクリプトなどで使いにくいですね。ユーザーIDだけを取得するには、以下のように実行します。
$ id -u
1000
プライマリグループのIDを取得するオプションは「-g」です。
$ id -g
1000
変数に代入することもできます。
USER_ID=$(id -u)
GROUP_ID=$(id -g)
グループIDをすべて取得する場合は、「-G」をつけて実行します。
$ id -G
1000 4 24 27 30 46 118 128
なお、idコマンドを使ってユーザー名やグループ名を取得することもできます。
$ id -u -n
lintaro
$ id -g -n
lintaro
idコマンドのヘルプ
Usage: id [OPTION]... [USER] Print user and group information for the specified USER, or (when USER omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the process -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID -z, --zero delimit entries with NUL characters, not whitespace; not permitted in default format --help この使い方を表示して終了する --version バージョン情報を表示して終了する OPTION が指定されない場合、識別情報のうち有用な物を表示します。 GNU coreutils online help: <http://www.gnu.org/software/coreutils/> id の翻訳に関するバグは <http://translationproject.org/team/ja.html> に連絡してください。 Full documentation at: <http://www.gnu.org/software/coreutils/id> or available locally via: info '(coreutils) id invocation'
コメント