- PR -

Linuxのアカウント名の文字や文字数の制限について

1
投稿者投稿内容
irgal
会議室デビュー日: 2006/10/16
投稿数: 5
投稿日時: 2006-10-16 18:49
Linuxのアカウント名で

使える文字、使えない文字、何文字以上でないといけない、何文字以下で無いといけない

等を知りたいと思い、インターネットで「Linux アカウント 制限」のような言葉で調べましたが、私が見落としているだけなのか、見つけることが出来ませんでした。是非ご教授ください。
また、パスワードに関しても同様の疑問があり、調べたところ、
http://www.mlb.co.jp/linux/mld-ml/200006/msg00174.html
を見つけて、大体は分かりましたが、一つ以下の事が分かりませんでした、

パスワードで使えない文字

スペースやタブは使えるのか?など細かいところまで気になっています。(常識的には使えないと思うのですが...)
パスワードはシャドウパスワードとそうでないパスワードがありますが、出来たら両方知りたいと思います。(現在使用しているのはシャドウパスワードです)
上記のことと、これらの事はどこを調べたら良かったのかも教えていただけるとありがたいです。
よろしくお願いします。

Vine Linux 3.2

[ メッセージ編集済み 編集者: irgal 編集日時 2006-10-16 18:55 ]

[ メッセージ編集済み 編集者: irgal 編集日時 2006-10-16 18:56 ]
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2006-10-16 23:29
引用:

irgalさんの書き込み (2006-10-16 18:49) より:
また、パスワードに関しても同様の疑問があり、調べたところ、
http://www.mlb.co.jp/linux/mld-ml/200006/msg00174.html
を見つけて、大体は分かりましたが、一つ以下の事が分かりませんでした、


大体分かったとのことですがURLの通りだっていうのは何を持って判断しているんでしょうか?多分、当時のMLDの仕様の話だと思いますが。
だってノーパスワードだって設定出来ますから。

引用:

スペースやタブは使えるのか?など細かいところまで気になっています。(常識的には使えないと思うのですが...)


試してみましたか? 一番簡単で手っ取り早いと思うんですけど。
私のところのCentOS4.4では使えるみたいですが?

引用:

上記のことと、これらの事はどこを調べたら良かったのかも教えていただけるとありがたいです。


ソース読むしかないんじゃないですか?それも動作確認したいアプリケーションすべてで。。。
なんでかというと例えばuseraddコマンドで追加出来るユーザ名に使用出来ない文字であってもvipwなんかで登録しちゃえば出来るわけですよ。
なので「使える」っていう確認をしたい対象すべてで確認しないと仕様は分からないと思います。
もちろん、pam_cracklib.soあたりの仕組みとかも理解した上ですよ。
_________________
桃李不言 下自成蹊
irgal
会議室デビュー日: 2006/10/16
投稿数: 5
投稿日時: 2006-10-17 18:12
書き込み、ご指摘ありがとうございます。
参照URLについては一部しか読まず誤解しておりました。

引用:

anightsさんの書き込み (2006-10-16 23:29) より:
試してみましたか? 一番簡単で手っ取り早いと思うんですけど。
私のところのCentOS4.4では使えるみたいですが?



タブ、スペースについて調べていただきありがとうございます。
私もいくつかの気になったものについては試したのですが、やはり厳密に知りたいと思い調べていました。

恥ずかしながらPAMというものを聞いたことがありませんでした。
アカウントの制限などもわかるかもしれないので、これについて調べてみたいと思います。
irgal
会議室デビュー日: 2006/10/16
投稿数: 5
投稿日時: 2006-10-22 01:27
結局useraddのソースを読むことにしました。
私が読み取ったところでは、

Vine Linux 3.2 + useraddにおいて、アカウント名/グループ名は、
1文字以上32文字以内、
一文字目はアルファベットか"_"(アンダーバー)、
二文字目以降はアルファベットか"_"(アンダーバー)か"-"(ハイフン)か数字。
"$"は、末尾にのみ使用可能。先頭や途中には使えない。
以上。 上記に反するものは使用不可。

# アルファベット: 大文字、小文字のaからzまで
# 数字: 0から9まで

のようです。
最大文字数は環境によって変わるみたいです。ソースには「大抵の場合8文字」と書いてあったのですが、私のVine 3.2の環境で試すと32文字まででした。
passwdによるパスワードの制限は次に調べます。

間違ったところがあればご指摘ください。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-10-22 04:00
"Linuxのアカウント"という括りであるのならば、PAM経由でLDAPやKerberos、
設定さえすればpam_winbind経由でWindowsドメインまで使うことができるので、
どんな認証方式を使うか、ってところに落ち着くと思います。

Windowsドメインの日本語や空白の混じったグループ名も普通に使えてましたよ。
この辺は使うプログラムによっては、よろしくない挙動になるかもしれませんが。

引用:

Vine Linux 3.2 + useraddにおいて、アカウント名/グループ名は、
1文字以上32文字以内、
一文字目はアルファベットか"_"(アンダーバー)、
二文字目以降はアルファベットか"_"(アンダーバー)か"-"(ハイフン)か数字。
"$"は、末尾にのみ使用可能。先頭や途中には使えない。
以上。 上記に反するものは使用不可。



: ⇒ /etc/passwdのフィールド区切り
# ⇒ コメントと勘違いされたりして?
, ⇒ フィールド区切りと見られそう

といった観点から危なそうな文字は使わせないようにしているのでしょう。
/etc/passwdを直接いじってしまった場合は、極端な文字以外使えそうな気がします。

引用:

irgalさんの書き込み (2006-10-22 01:27) より:
passwdによるパスワードの制限は次に調べます。


パスワードの制限は認証方式とハッシュ関数次第では?
crypt(3)のDESでは先頭8バイトかつ下位7ビットのみ有効となりますし、
今はMD5(ソルトが$1$で始まるもの)が一般的で、こちらは特に制限はないはずです。

実装的にはMD5なら日本語でもOKそうです。
もちろん、ログイン時に入力できればの話ですが。
1

スキルアップ/キャリアアップ(JOB@IT)