Linux作業系統口令檔案安全問題詳細解析

來源:互聯網
上載者:User

幾乎所有的類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:表示從1970年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。

  以符合工業標準的方法增加、刪除和修改使用者帳戶: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/bash

  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/games

  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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.