一.Linux:
CentOS6.5 一切皆檔案(VFS)
Linux主要作為伺服器來使用
二.安全機制
身份認證+通路控制(權限)+審計(日志)
身份認證:本地 遠端(talnet--明文 暴露密碼 不安全 + SSH 密文) 認證方法--PAM(Linux獨有,程式間)
三.
使用者(user):root # UID:0
普通使用者 $ UID:500-65534 ,65534:nfsnobody
系統使用者 UID:1-499
/etc/passwd 使用者名
/etc/shadow 密碼 密碼
使用者組:權限相同的使用者集合(多任務多使用者) 辨識使用者 GID
檢視 使用者名 /etc/gruop
檢視 組密碼 /etc/gshadow
檢視目前使用者所在組 : id -a
任務一:建立與删除普通使用者賬戶,管理組
管理帳戶的俱行工具及功能如下:
useradd [] 添加新使用者
usermod [] 修改已存在的指定使用者
userdel [-r] 删除已存在的指定帳戶,-r參數用于删除使用者自家目錄
groupadd [] 加新組
groupmod [] 修改已存在的指定組
groupdel 删除已存在的指定組
任務二:使用者密碼管理與密碼時效管理
(1)passwd指令
passwd指令用來設定使用者密碼,格式為:passwd [] []
使用者修改自己的使用者密碼可直接鍵入passwd,若修改其他使用者密碼需加使用者名。超級使用者還可以使用如下指令進行使用者密碼管理:
passwd -l //禁用使用者帳戶密碼
passwd -S //檢視使用者帳戶密碼狀态
passwd -u //恢複使用者帳戶密碼
passwd -d //删除使用者帳戶密碼
(2)chage指令
密碼時效是系統管理者用來防止機構内不良密碼的一種技術。在Linux系統上,密碼時效是通過chage指令來管理的,格式為:chage []
下面列出了chage指令的選項說明:
-m days: 指定使用者必須改變密碼所間隔的最少天數。如果值為0,密碼就不會過期。
-M days: 指定密碼有效的最多天數。當該選項指定的天數加上-d選項指定的天數小于目前的日期時,使用者在使用該帳号前就必須改變密碼。
-d days: 指定從1970年1月1日起,密碼被改變的天數。
-I days: 指定密碼過期後,帳号被鎖前不活躍的天數。如果值為0,帳号在密碼過期後就不會被鎖。
-E date: 指定帳号被鎖的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日後經過的天數。
-W days: 指定密碼過期前要警告使用者的天數。
-l: 列出指定使用者目前的密碼時效資訊,以确定帳号何時過期。
例如下面的指令要求使用者user1兩天内不能更改密碼,并且密碼最長的存活期為30天,并且密碼過期前5天通知使用者
chage -m 2 -M 30 -W 5 user1
可以使用如下指令檢視使用者user1目前的密碼時效資訊:chage -l user1
任務三:PAM可插拔驗證子產品
1. 指定密碼複雜性
修改/etc/pam.d/system-auth配置:(注意:在root使用者下進行,其餘使用者對這個檔案隻有讀的權限)
vi /etc/pam.d/system-auth
限制密碼最少有:2個大寫字母,3個小寫字母,3個數字,2個符号
檔案中有一行為:
password requisite pam_cracklib.so try_first_pass retry=3
在其後追加如下參數:
ucredit=-2 lcredit=-3 dcredit=-3 ocredit=-2
2. 驗證時若出現任何與pam_tally有關的錯誤則停止登入
auth required pam_tally.so onerr=fail magic_root
3. 賬号驗證過程中一旦發現連續5次輸入密碼錯誤,就通過pam_tally鎖定此賬号600秒
account required pam_tally.so deny=5 lock_time=600 magic_root reset
分析與思考
1)思考還有哪些加強linux賬戶安全的管理方法?
答:開啟防火牆,禁止root遠端登入
2)比較一下linux賬戶跟unix賬戶管理的異同。
答:前者是開發源代碼的自由軟體,而後者是對源代碼實行知識産權保護的傳統商業軟體。UNIX系統大多是與硬體配套的,而Linux則可運作在多種硬體平台上。
需要補充對密碼政策有效性的驗證和系統日志檢視内容:
建立使用者user2,對其輸入密碼111111,
顯示
說明密碼不符合密碼規則。當輸入3fCAbd9.6!a時,密碼輸入有效: