星期五, 4月 23, 2010

解決 openSUSE Linux 使用者名稱 以數字為開頭的問題

在RHEL 3 的時代,
使用者的名稱 ~ 就可以使用以數字為開頭來命名.
雖然這個不是一個好的方式,
系統有可能把 純數字的帳號與 UID 搞錯.
故 useradd 指令
一般來說是不允許以 數字為起始字元 來命名
例如
09C130 這樣的帳號就不被允許.

但是有些公司的使用者帳號就是以數字為開頭
然後 Windows Server 對這些帳號也不會有影響

但是在 openSUSE and SLES 還是對這樣的帳號會有限制的 ^^|||

當然, 有些朋友會使用手動修改........
但是如果常常要建立這樣的帳號該如何呢?

解決的方式為

修改  /etc/login.defs 內的設定
( 將 CHARACTER_CLASS 的第一個字元加入 0-9)


#
# User/group names must match the following regex expression.
# The default is [A-Za-z_][A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\?,
# but be aware that the result could depend on the locale settings.
#
#CHARACTER_CLASS                [A-Za-z_][A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\?
#原本的設定

#CHARACTER_CLASS         [ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.$-]\?


#改為以下 ( 加入 0123456789 )
CHARACTER_CLASS         [ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.$-]\?


這樣以後 useradd  要加入以數字為開頭的帳號
就不會被拒絕了 ^^

一定要記起來

沒有留言: