一,列出可登入shell的使用者
root@lhdpc:~# grep bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
liuhongdi:x:1000:1000:liuhongdi,,,:/home/liuhongdi:/bin/bash
只顯示使用者名稱:
root@lhdpc:~# grep bash /etc/passwd | cut -d: -f1
root
liuhongdi
也可以把常見的3個不允許登入的型別排除:
root@lhdpc:~# grep -v "/sbin/nologin" /etc/passwd | grep -v "/bin/false" | grep -v '/bin/sync'
root:x:0:0:root:/root:/bin/bash
liuhongdi:x:1000:1000:liuhongdi,,,:/home/liuhongdi:/bin/bash
二,列出可登入ssh的使用者
[root@web ssh]# grep AllowUsers /etc/ssh/sshd_config
AllowUsers user1 user2@192.168.1.20 user3@192.168.1.0/24
說明:如果sshd_config未設定AllowUsers,表示所有能獲得shell的使用者可以透過ssh登入此機器,
AllowUsers
指令指定了哪些使用者被允許透過SSH連線到伺服器。DenyUsers
指令則指定了哪些使用者不被允許透過SSH連線到伺服器。
1,如果同時指定了AllowUsers
以及 DenyUsers
,
此時,AllowUsers優先順序高,其他非AllowUsers使用者均禁止ssh登入
2,如果同時指定了AllowUsers
以及 DenyUsers
,
有同一個使用者同時存在於此兩者之中,則表示禁止訪問,因為:
這些指令可以同時存在於sshd_config檔案中,但是如果存在衝突,DenyUsers指令會覆蓋AllowUsers指令。
三,列出可sudo的使用者:
1,驗證一個使用者是否有sudo許可權?
[root@base2 ~]# sudo -l -U lhd
Matching Defaults entries for lhd on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User lhd may run the following commands on this host:
(ALL) ALL
2,從/etc/sudoers可以檢視:
3,用指令碼列出:
list_all_sudoer.sh
#!/bin/bash
for u in `cat /etc/passwd | cut -d":" -f1`; do
sudo -l -U $u;
done