幾乎所有的類unix作業系統的口令檔案的格式都雷同,linux亦不例外。口令安全是linux作業系統的傳統安全問題之一。
傳統口令與影子口令
/etc/passwd是存放使用者的基本資訊的口令檔案。該口令檔案的每一行都包含由6個冒號分隔的7個域:
username: passwd: uid: gid: comments: directory: shell
以上從左到右7個域分別敘述如下:
username:是使用者登陸使用的名字。
passwd:是口令密文域。密文是加密過的口令。如果口令經過shadow則口令密文域只顯示乙個x,通常,口令都應該經過shadow以確保安全。如果口令密文域顯示為*,則表明該使用者名稱有效但不能登陸。如果口令密文域為空則表明該使用者登陸不需要口令。
uid:系統用於唯一標識使用者名稱的數字,uid系統是這樣分配的:
0 超級使用者
1~10 守護程式和偽使用者
11~99 系統保留使用者
100~ 正常使用者
gid:表示使用者所在預設組號。由/etc/group檔案決定。
comments:描述使用者的個人資訊。
directory:定義使用者的初始工作目錄。
shell:就是指定使用者登陸到系統後啟動的外殼程式。
表1列出了系統在安裝過程中建立的標準使用者,表中的內容和/etc/passwd檔案的描述是一致的。
表2列出系統安裝過程中建立的標準使用者組,和/etc/group檔案是一致的:
linux使用不可逆的加密演算法如des來加密口令,由於加密演算法是不可逆的,所以從密文是得不到明文的。但問題在於,/etc/passwd檔案是全域性可讀的,加密的演算法是公開的,如果有惡意使用者取得了/etc/passwd檔案,他就可以窮舉所有可能的明文通過相同的演算法計算出密文進行比較,直到相同,於是他就破解了口令。因此,針對這種安全問題,linux/unix廣泛採用了「shadow(影子)」機制,將加密的口令轉移到 /etc/shadow檔案裡,該檔案只為root超級使用者可讀,而同時/etc/passwd檔案的密文域顯示為乙個x,從而最大限度減少密文洩露的機會。
/etc/shadow檔案的每行是8個冒號分割的9個域,格式如下:
username: passwd: lastchg: min: max: warn: inactive: expire: flag
其中:
lastchg:表示從2023年1月1日起到上次修改口令所經過的天數。
min:表示兩次修改口令之間至少經過的天數。
max:表示口令還會有效的最大天數,如果是99999則表示永不過期。
warn:表示口令失效前多少天內系統向使用者發出警告。
inactive:表示禁止登陸前使用者名稱還有效的天數。
expire:表示使用者被禁止登陸的時間。0
flag:無意義,未使用。
啟用影子口令
redhat linux預設安裝shadow,如果你發現你的系統的/etc/passwd檔案仍然可以看到密文,就說明你沒有啟用shadow。可以執行pwconv來啟用shadow。
在redhat linux 7.1中,影子工具包(shadow utils)包含了幾個工具支援以下功能:
傳統口令與影子口令之間的轉換工具:pwconv、pwunconv。
驗證口令,組和相應的影子檔案:pwck、grpck。
www.cppcns.com以符合工業標準的方法增加、刪除和修程式設計客棧改使用者帳戶:useradd、usermod、userdel。
以符合工業標準的方法增加、刪除和修改使用者組:groupadd、groupmod、groupdel。
以符合工業標準的方法管理檔案/etc/group。
無論系統是否啟用shadow機制,上述工具都可以正常使用。
更改linux口令的最短長度
linux系統預設最短口令長度為5個字元,這個長度不足以保證口令的健壯性,應該改為最短8個字元,編輯/etc/login.defs檔案,在此檔案中,將
pass_min_len 5
改為:
pass_min_len 8
表1 user uid gid directory shell
root 0 0 /root /bin/ba程式設計客棧sh
bin 1 1 /bin
daemon 2 2 /sbin
adm 3 4 /var/adm
lp 4 7 /var/spool/lpd
sync 5 0 /sbin /bin/sync
shutdown 6 0 /sbin /sbin/shutdown
halt 7 0 /sbin /sbin/halt
mail 8 12 /var/spool/mail
news 9 13 /var/spool/news
uucp 10 14 /var/spool/uucp
operator 11 0 /root
games 12 100 /usr/game程式設計客棧s
gopher 13 30 /usr/lib/gopher-data
ftp 程式設計客棧;14 50 /home/ftp
nobody 99 99 /
表2 group gid members
root 0 root
bin 1 root,bin,daemon
daemon 2 root,bin,daemon
sys 3 root,bin,adm
adm 4 root,adm,daemon
tty 5
disk 6 root
lp 7 daemon,lp
mem 8
kmem 9
whell 10 root
mail 12 mail
news 13 news
uucp 14 uucp
man 15
games 20
gopher 30
dip 40
ftp 50
nobody 99
users 100
floppy 19
本文標題: linux作業系統口令檔案安全問題詳細解析
本文位址:
oracle口令檔案認證和作業系統認證
1 使用作業系統驗證 2個前提必須同時滿足 1 os下建立使用者ora dba使用者組,然後可以新建立使用者或者把原來的使用者加入到ora dba組中,然後使用這個使用者在安裝了資料庫的本地機器登陸或者使用安全的遠端連線登陸,可以作為sysdba登入,在資料庫級不需要提供密碼。2 sqlnet.or...
ORACLE口令檔案驗證與作業系統驗證
1 使用作業系統驗證 2個前提必須同時滿足 1 os下建立使用者ora dba使用者組,然後可以新建立使用者或者把原來的使用者加入到ora dba組中,然後使用這個使用者在安裝了資料庫的本地機器登陸或者使用安全的遠端連線登陸,可以作為sysdba登入,在資料庫級不需要提供密碼。2 sqlnet.or...
Linux作業系統安全 一
談到linux,大夥最先想到的是這是乙個由全世界的優秀的黑客共同開發的乙個開源作業系統,目前在伺服器領域有著非常廣的使用,同時,基於linux作業系統而開發的android系統也已經佔據了移動終端作業系統的半壁江山。還有一點,大家也很容易想到,就是覺得linux系統安全 穩定 幾乎不被病毒攻擊。但現...