账号安全基本措施
目錄
一、系統賬號清理
?二、密碼安全控制
三、命令歷史限制
四、使用su命令切換用戶
五、限制使用su命令的用戶
?六、使用sudo機制提升權限3-1
一、系統賬號清理
(1)將非登錄用戶的Shell設為/sbin/nologin (2)? 鎖定長期不使用的賬號 (3)刪除無用的賬號 (4)鎖定賬號文件passwd、 shadow [root@localhost ~]# chattr +i /etc/passwd /etc/shadow (鎖定文件并查看狀態,解鎖是-i) [root@localhost ~]# Isattr /etc/passwd /etc/shadow ----i----------- letc/passwd -----i----- /etc/shadow 鎖定/etc/passwd后無法創建用戶?
解鎖
?鎖定/etc/shadow后則無法修改用戶賬戶密碼
?二、密碼安全控制
設置密碼有效期 要求用戶下次登錄時修改密碼 適用于新建用戶 [root@localhost ~]# vim /etc/login.defs (只能限制新用戶) PASS MAXDAYS 30 適用于已有用戶 [root@localhost ~]# chage -M 30 lisi 強制在下次登錄時更改密碼 [root@localhost ~]# chage -d 0 zhangsan history命令可以查之前所輸入的命令?
三、命令歷史限制
減少記錄的命令條數 注銷時自動清空命令歷史 終端自動注銷 閑置600秒后自動注銷 [root@localhost ~]# vim ~/.bash_profifile export TMOUT=600(這個是命令切換時開始算) [root@localhost ~]# vim /etc/profifile(存在設置history的命令條數) HISTSIZE=200(設置存200條,永久性的) [root@Yocalhost ~]# vim ~/.bash_logout(一登出就自動清空) history -c(清空所有歷史記錄) clear 都是刷新命令?
?清空記錄(臨時)
?這是永久性的清空(包括清除其.bash_history中的緩存記錄,退出重登后則無歷史記錄了)
?
?
退出后會清除歷史記錄,但無法清除.bash_history中的緩存記錄,所以在輸history時還是會有記 錄?
?
60秒無操作則自動關機?
四、使用su命令切換用戶
用途及用法 用途:Substitute User,切換用戶格式:su-目標用戶 密碼驗證 root→任意用戶,不驗證密碼 普通用戶→其他用戶,驗證目標用戶的密碼 [jerry@localhost ~]$ su - root(帶-選項表示將使用目標用戶的登錄Shell環境) 口令: [root@localhost ~]# whoami root su - 用戶:進入到宿主目錄,擁有讀寫運行的權利 su 用戶:當前目錄,很多權限是沒有的五、限制使用su命令的用戶
?
?
將允許使用su命令的用戶加入wheel組 啟用pam_wheel認證模塊 [root@localhost ~]# gpasswd -a tsengyia wheel tsengyia 正在將用戶“tsengyia"加入到"wheel"組中 默認情況下,任何用戶都允許使用su命令,從而有機會反復嘗試其他用戶(如root)的登錄密碼,這 樣帶來了安全風險。為了加強su命令的使用控制,可以借助于pam_wheel認證模塊,只允許極個 別用 戶使用su命令進行切換。實現過程如下:將授權使用su命令的用戶添加到 wheel組,修改/etc/pam.d/su 認證配置以啟用pam_wheel 認證。 在/etc/pam.d/su文件里設置禁止用戶使用su命令 vim /etc/pam.d/su 2 # auth suffiffifficient pam_rootok.so 6 #auth required pam_ wheel.so use_ _ uid a)以上兩行是默認狀態(即開啟第一行,注釋第二行),這種狀態下是允許所有用戶間使用su命進行切換的。 b)兩行都注釋也是運行所有用戶都能使用su命令,但root'下使用su切換到其他普通用戶需要輸入密碼;?
如果第一行不注釋,則root使用su切換普通用戶就不需要輸入密碼(pam rootok.so模塊的主要作用 是使uid為0的用戶,即root用戶能夠直接通過認證而不用輸入密碼。) c)如果開啟第二行,表示只有root用戶和wheel組內的用戶才可以使用su命令(組內人才可用)。?
?因為zhangliu用戶在wheel組中所以可以切換root用戶
?
lisi不在wheel組中所以不能切換?
d)如果注釋第一行,開啟第二行,表示只有whee1組內的用戶才能使用su命令,root用戶也被禁用 su命令?
[root@localhost ~]# gpasswd -a zhangsan wheel #添加授權用戶 zhangsan 正在將用廣"zhangsan"加入到"wheel"組中 [ root@localhost ~] # grep wheel /etc/group #確認 wheel組成員 wheel:x :10 : zhangsan [ root@localhost ~]# vim /etc/pam.d/su #%PAM-1.0 auth suffiffifficient pam_ rootok.so auth required pam_wheel.so use_uid #去掉此行開頭的#號 啟用pam wheel 認證以后,未加入到 wheel組內的其他用戶將無法使用su命令,嘗試進行切換時將 提示"拒絕權限”,從而將切換用戶的權限控制在最小范圍內。 普通用戶切換登錄測試驗證 使用su命令切換用戶的操作將會記錄到安全日志/var/log/secure(只有root才能看)文件中,可以根據需要進行查看。?六、使用sudo機制提升權限3-1
重點: su命令的缺點 sudo命令的用途及用法 用途:以其他用戶身份(如root)執行授權的命令 用法:sudo 授權命令 配置sudo授權 visudo或者vim /etc/sudoers 記錄格式:用戶 主機名列表=命令程序列表 [root@localhost ~]# visudo ...................................................(可以使用通配符* 、取反符號!) %wheel ALL=NOPASSWD:ALL jerry localhost=/sbin/ifconfifig syrianer localhost=/sbin/* ,!/sbin/ifconfifig,!/sbin/route Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum(類似別名還包括:User_Alias(用戶)、 Host_Aififia(主機)) mike localhost=PKGTOOLs查看sudo操作記錄 需啟用Defaults logfifile 配置 默認日志文件: /var/log/sudo [root@localhost ~]# visudo Defaults logfifile = "/var/log/sudo" 補充: sudo機制提升權限 使用sudo機制提升 visudo 或 vi /etc/sudoers (此文件的默認權限為440,保存退出時必須執行":wq !"命令來強制操作 語法格式: 用戶 主機名=命令程序列表 用戶 主機名=(用戶)命令程序列表 用戶:直接授權指定的用戶名,或采用"%組名"的形式(授權一個組的所有用戶)。 主機名:使用此規則的主機名。沒配置過主機名時可用localhost,有配過主機名則用實際的主機 名,ALL則代表所有主機。 (用戶):用戶能夠以何種身份來執行命令。此項可省略,缺省時以root用戶的身份來運行命令。 命令程序列表:允許授權的用戶通過sudo方式執行的特權命令,需填寫命令程序的完整路徑,多個命令 之間以逗號","進行分隔。ALL則代表系統中的所有命令。 示例: Tom ALL=/sbin/ifconfifig ( Tom可用ifconfifig) Jerry localhost=/sbin/* , ! /sbin/reboot, ! /sbin/poweroffff (Jerry可用/sbin/ * 所有,除了reboot, poweroffff不能用) #通配符"*"表示所有、取反符號"!"表示排除 %wheel ALL=NOPASSWD: ALL #表示wheel組成員無需驗證密碼即可使用sudo執行任何 命令 Mike ALL= (root) NOPASSWD: /bin/kill,/usr/bin/killall gpasswd -M lisi wheel #李四加入wheel組 sudo [參數選項] 命令 -l:列出用戶在主機上可用的和被禁止的命令:一般配置好/etc/sudoers后,要用這個命令來查看和測試 是不是配置正確的; -v:驗證用戶的時間戳:如果用戶運行sudo后,輸入用戶的密碼后,在短時間內可以不用輸入口令來直 接進行sudo操作:用 -v 可以跟蹤最新的時間戳; -u:指定以以某個用戶執行特定操作; -k:刪除時間戳,下一個sudo命令要求用求提供密碼; 案列一 wangliu 用戶可以使用useradd usermod 需求: wangliu root用戶下的權限useradd usermod 配置 visudo wangliu ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod未給wangliu root權限時是無法創建賬號的?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: Linux进程和计划任务管理
- 下一篇: linux 网络设置