一,列出可登录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 [email protected] [email protected]/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
标签:bin,shell,LC,liuhongdi,sudo,AllowUsers,ssh,root From: https://www.cnblogs.com/architectforest/p/18460262