linux 关闭权限验证,Linux 账户安全与控制
文章目錄
chattr命令(鎖定賬戶信息、用戶密碼文件)
鎖定單用戶的密碼(usermod、useradd)
**方法一:鎖定用戶密碼**
**方法二:鎖定該用戶**
設置用戶密碼有效期(新建用戶,已有用戶)
方法一:對于還未創建的賬戶可以通過修改login.defs文件來實現對將要創建的賬戶的有效期設置
方法二:對于已經創建了的賬戶使用chage命令更改密碼有效期
用戶下次登陸時強制修改密碼
禁止用戶登陸的幾種方法
方法一:修改/etc/shadow文件,在密碼字符串前加上一個或兩個感嘆號
方法二:禁止除root以外的所有普通用戶登陸
查看歷史命令 history
1、限制顯示歷史執行過的命令
2、退出終端時自動清除歷史命令
用戶超時自動注銷
使用su命令切換用戶
限制使用su命令的用戶
★PAM安全認證
PAM認證原理
PAM認證的構成
PAM安全認證流程
使用sudo機制提升權限
chattr命令(鎖定賬戶信息、用戶密碼文件)
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow ##鎖定passwd與shadow兩個與賬戶相關的配置文件,使其不能被修改
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ##查看兩個文件的屬性(發現有i)
----i----------- /etc/passwd
----i----------- /etc/shadow
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow ##解鎖兩個配置文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ##再次查看配置文件屬性(發現i沒有了)
---------------- /etc/passwd
---------------- /etc/shadow
鎖定單用戶的密碼(usermod、useradd)
方法一:鎖定用戶密碼
#假設現在我們有個用戶名為tom的普通用戶賬號,使用passwd命令可以鎖定其用戶密碼,使之不能從終端登錄。
[root@localhost ~]# passwd -l tom
鎖定用戶 tom 的密碼 。
passwd: 操作成功
[root@localhost ~]# cat /etc/shadow
tom:!!$6$tbEutCW6$GwmMKaxNK.r0gsuB0CNuhrnYpvykPm8/a.pUd2Kf4iuxF5ZB8vSXMDy8xiMey8f12kkn3f8tAg8hNw6RXSAFF/:18444:0:0:7:::
#查看shadow文件看到用戶tom用戶的后面有兩個感嘆號,說明該用戶密碼已經鎖定不能登錄
#現在希望解鎖該用戶,使用以下命令:
[root@localhost ~]# passwd -u tom
解鎖用戶 tom 的密碼。
passwd: 操作成功
方法二:鎖定該用戶
#還是剛才的tom用戶,我們這次使用usermod命令來操作。
[root@localhost ~]# usermod -L tom
[root@localhost ~]# cat /etc/shadow
tom:!$6$tbEutCW6$GwmMKaxNK.r0gsuB0CNuhrnYpvykPm8/a.pUd2Kf4iuxF5ZB8vSXMDy8xiMey8f12kkn3f8tAg8hNw6RXSAFF/:18444:0:0:7:::
#我們發現tom用戶后面有一個感嘆號,這時候使用tom用戶無法登陸
#現在希望解鎖該用戶,使用以下命令:
[root@localhost ~]# usermod -U tom
舉一反三:那么,既然passwd -l 與usermod -L 都可以鎖定用戶,那么在解鎖用passwd鎖定的賬戶時使用usermod命令呢?下面我們來實驗:
#先使用passwd鎖定用戶密碼
[root@localhost ~]# passwd -l tom
#再使用usermod命令解鎖
[root@localhost ~]# usermod -U tom
#解鎖后嘗試登陸tom,發現可以登錄,說明passwd與usermod的鎖定與解鎖是可以通用的。
設置用戶密碼有效期(新建用戶,已有用戶)
方法一:對于還未創建的賬戶可以通過修改login.defs文件來實現對將要創建的賬戶的有效期設置
vi /etc/login.defs
#找到 PASS_MAX_DAYS 這一行,將后面的9999 改成30
PASS_MAX_DAYS 30 #現在密碼最長有效期從永不過期變成了30天
方法二:對于已經創建了的賬戶使用chage命令更改密碼有效期
密碼有效期:chage -M 30 tom
用戶下次登陸時強制修改密碼
[root@localhost ~]# chage -d 0 tom #當tom用戶重新登錄時會提示強制修改密碼后才能登錄
禁止用戶登陸的幾種方法
方法一:修改/etc/shadow文件,在密碼字符串前加上一個或兩個感嘆號
[root@localhost /]# vi /etc/shadow
tom:!!$6$Str1t6ks$hk6otJqguzoA.v5bhf6AB1bsueoDiLIK3.Gm7Un1.4iQo20idkRIWoAdRCaOIiHwPSPuhJgCldn1VqzqqSlBn.:18445:0:99999:7:::
方法二:禁止除root以外的所有普通用戶登陸
[root@localhost /]# touch /etc/nologin ##在etc目錄下創建一個空白的nologin文件
【注意】:主要該文件存在,只能root用戶登陸!該方法經常用于在服務器維護時使用
【小技巧】:我們可以編輯nologin文件在其中添加內容,這樣別人在使用終端登錄時頁面就會提示。
例:echo "系統正在維護中,請稍后再試!" > /etc/nologin
查看歷史命令 history
1、限制顯示歷史執行過的命令
[root@localhost /]# vi /etc/profile ##編輯配置文件
找到 HISTSIZE 這一行,默認是1000,我們可以修改成自己想要的值,編輯完后保存并退出
2、退出終端時自動清除歷史命令
[root@localhost /]# vi ~/.bash_logout ##編輯配置文件
##添加如下兩行:
history -c
clear
用戶超時自動注銷
在root用戶家目錄下編輯.bash_profile文件,在最下面添加一行命令即可
vi ~/.bash_profile
export TMOUT=600 ##單位是秒
source .bash_profile ##重新加載配置文件
?
使用su命令切換用戶
用途及用法
用途:Subsitute User,切換用戶
格式:su -目標用戶
密碼驗證
? root→任意用戶,不驗證密碼
? 普通用戶→其他用戶,驗證目標用戶的密碼
[root@localhost ~]# su - tom ##從root用戶切換到tom賬戶
[tom@localhost ~]$ su - ##從tom賬號切換回root
密碼:
限制使用su命令的用戶
將允許使用su命令的用戶加入wheel組
啟用pam_wheel認證模塊 (配置文件:/etc/pam.d/su)
gpasswd -a tom wheel #將tom用戶添加到wheel組
選項:-a:添加用戶到組
查看su操作記錄:記錄在安全日志文件中,路徑:/var/log/secure
★PAM安全認證
su命令的安全隱患
? 默認情況下,任何用戶都允許使用su命令,有機會反復嘗試其他用戶(如root)的登錄密碼,帶來安全風險。為了加強su命令的使用控制,可借助PAM認證模塊,只允許極個別用戶使用su命令進行切換
PAM(Pluggable Authentication Modules)可插拔式認證模塊
? 是一種高效而且靈活便利的用戶級別的認證方式
? 也是當前Linux服務器普遍使用的認證方式
PAM認證原理
一般遵循的順序:Service(服務)→PAM(配置文件)→pam_*.so
首先要確定哪一項服務,然后加載相應的PAM的配置文件,(位于/etc/pam.d下),最后調用認證文件(位于/lib/security下)進行安全認證
用戶訪問服務器時,服務器的某個服務程序把用戶的請求發送到PAM模塊進行認證
不同的應用程序所對應的PAM模塊是不同的
PAM認證的構成
查看某個程序是否支持PAM認證,可以用ls命令
ls /etc/pam.d | grep su ##查看su命令是否支持PAM認證
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是一個獨立的認證過程
每一行可以區分為三個字段:認證類型、控制類型、PAM模塊及參數
PAM安全認證流程
控制類型也稱作Control Flags,用于PAM驗證類型的返回結果
? 1、required驗證失敗時仍然繼續,但返回Fail
? 2、requisite驗證失敗則立即結束整個驗證過程,返回Fail
? 3、sufficien驗證成果則立即返回,不再繼續。否則忽略結果并繼續
? 4、optional不用于驗證,只顯示信息(通常用于session類型)
圖1
使用sudo機制提升權限
su命令的缺點
sudo命令的用途及用法
用途:以其他用戶身份(如root)執行授權的命令
sudo 授權命令
配置sudi授權
visudo 或者 vi /etc/sudoers
記錄格式:用戶 主機名列表=命令程序列表
查看sudo操作記錄
需啟用Defaults logfile 配置
默認日志文件:/var/log/sudo
使用sudo機制提升權限
su命令的缺點
sudo命令的用途及用法
用途:以其他用戶身份(如root)執行授權的命令 sudo 授權命令
配置sudi授權
visudo 或者 vi /etc/sudoers
記錄格式:用戶 主機名列表=命令程序列表
查看sudo操作記錄
需啟用Defaults logfile 配置
默認日志文件:/var/log/sudo
查詢授權的sudo操作:sudo -l
總結
以上是生活随笔為你收集整理的linux 关闭权限验证,Linux 账户安全与控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改linux内核启动动画,Androi
- 下一篇: go linux环境搭建,Linux 下