ターミナルで8文字以上のユーザーネームを表示させる方法ありますか?
GUIのアカウント作成で、12文字のユーザーネームを作ってしまったところ、
ターミナルでリストを取ったら、ユーザー名が8文字までしか表示できません。
たしか、UNIXの本にユーザー名は8文字までと記述してあった記憶が、ありますが、
うっかり忘れてました。ターミナルで8文字を超えるユーザー名を表示させる方法って
ありますか??ご存知の方教えてください。
GUIのアカウント作成で、12文字のユーザーネームを作ってしまったところ、
ターミナルでリストを取ったら、ユーザー名が8文字までしか表示できません。
たしか、UNIXの本にユーザー名は8文字までと記述してあった記憶が、ありますが、
うっかり忘れてました。ターミナルで8文字を超えるユーザー名を表示させる方法って
ありますか??ご存知の方教えてください。
iBook G4/10.4.3って環境です。
ターミナルのプロンプトには名前全部の文字が表示されますが、
lsコマンドのユーザ名表示は8文字まででした。
因みに名前とユーザ名は共にhehenomojihejiにしました。
「ターミナルでリストを取った」とは具体的にどうされたのでしょうか?木藤さんの「lsコマンドのユーザ表示」とは「ls -l」で見たときのユーザ/グループ名表示のことだと思いますが、このことでしょうか?これは確かに8文字までですね。これは、ユーザ名は実際には8文字を超えても8文字までだけで識別された時の名残(バグ)かな。(後でソースを見てみますね。)これはどうしようもないかもしれませんが、先頭8文字が同じユーザを作らない限り、重大な問題ではないでしょう。
ただ、10.2の環境ではどうなのか、わかりません。
lsのソースを見たところ、ユーザ名の表示はuse_from_uid()を使っていました。このライブラリ関数はlibc/genにあるはずなんですが、10.4.3のソースでは見つけられませんでした。10.2.8ではpwcache.cに入っていて、確かに8文字(utmp.hで定義されているUT_NAMESIZE)まででした。
10.4.3でuser_from_uid()の簡単なテストプログラムを書いてみたら、やはり8文字で切られましたので、多分10.2.8と同じなんだと思います。
みなさまいろいろとアドバイスありがとうございます。ご指摘のあった通り、ls -la でリストを見た時の場合でした。私は残念ながらコマンドのソースまでみて解るレベルでは無いのですが、やはり表示は8文字までみたいでしたね。Unix for Mac OS X オライリージャパンの本に書いてあったのを確認しました。ところで、現実的には今のところ問題は出ていないのですが、ファイルのオーナー変更などで少し混乱しそうです。もし、再インストールする機会があったら、直すのですが・・・。みなさまありがとうございました。
>ファイルのオーナー変更などで少し混乱しそうです
長いユーザ名だとchownの入力も大変なので、ユーザIDで代用する手はあると思います。lsでもユーザIDで表示させることもできますし。
ターミナルで8文字以上のユーザーネームを表示させる方法ありますか?