linux帳戶安全管理與技巧
建立與刪除普通使用者賬戶,管理組
1)建立一個新使用者user1
useradd user1
2)建立一個新組group1
groupadd group1
3)建立一個新使用者user2並將其加入使用者組group1中
useradd -G group1 user2
4)建立一個新使用者user3,指定登入目錄為/www,不建立自家使用者目錄(-M)
useradd -d /www -M user3
5)將使用者user1新增到附加組group1中
usermod -G group1 user1
至此,group1組中有user1,user2兩個使用者
6)刪除使用者user3
userdel user3
7)刪除使用者user2,同時刪除自家目錄
userdel -r user2
8)刪除組group1,則組group1中的使用者則被分配到其自己分配的私有組中
groupdel group1
使用者口令管理與口令時效管理
(1)passwd命令
passwd命令用來設定使用者口令,格式為:passwd [] []
使用者修改自己的使用者密碼可直接鍵入passwd,若修改其他使用者密碼需加使用者名稱。超級使用者還可以使用如下命令進行使用者口令管理:
passwd -l //禁用使用者帳戶口令
passwd -S //檢視使用者帳戶口令狀態
passwd -u //恢復使用者帳戶口令
passwd -d //刪除使用者帳戶口令
在建立完使用者user1後,沒給使用者passwd口令時,賬戶預設為禁用狀態:
1. 給使用者user1建立口令,設定為:111111
passwd user1
2. 禁用賬戶user1
passwd -l user1
3. 恢復賬戶user1的賬戶口令:
passwd -u user1
4. 刪除使用者賬戶口令
passwd -d user1
(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
vi/vim的使用
esc進入命令模式,x退格 ,:切換到底線命令模式,輸入wq退出vi,w儲存檔案,q退出程式
insert切換輸入替換模式
更改配置後給使用者user賦予密碼 QWqwe123., 無提示
賦予密碼 12345 有下圖提示
分析與思考
1)思考還有哪些加強linux賬戶安全的管理方法?禁止使用root賬號直接登陸,只允許使用普通賬號登陸;更改預設埠;禁止直接使用口令的方式驗證,採用金鑰登陸;
開啟防火牆
2)比較一下linux賬戶跟unix賬戶管理的異同。 UNIX 是商業軟體,而 Linux 是開源軟體;賬戶管理基本相同