首页 > 系统相关 >安全:列出linux中可登录shell/ssh/sudo的用户

安全:列出linux中可登录shell/ssh/sudo的用户

时间:2024-10-12 13:49:11浏览次数:1  
标签:bin shell LC liuhongdi sudo AllowUsers ssh root

一,列出可登录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

相关文章

  • 【汇总】Linux shell 数组使用
    前言全局说明【汇总】Linuxshell数组使用一、说明环境:Ubuntu18.04.6LTS(Linuxqt-vm5.4.0-150-generic#167~18.04.1-UbuntuSMPWedMay2400:51:42UTC2023x86_64x86_64x86_64GNU/Linux)二、创建数组2.1声明一个空数组test_array=()2.2创建数组test......
  • shell 命令vim 打开文件后,如何到文件的最后一行
    背景:打开文件后如何到达文件最后一行,shell操作命令。愿我们终有重逢之时,而你还记得我们曾经讨论的话题。QQgroup 868373192QQsecondgroup 277356808解决方案:在Vim编辑器中,你可以使用以下几种方法快速跳转到文件的最后一行:###方法1:使用`G`命令-按下`G`键......
  • H3C交换机SSH使用RSA公钥免密登录配置
    1.使用puttygen.exe计算RSA 2.保存公钥和私钥公钥:pub.key  注意:公钥上传到交换机(FTP等方式)。私钥:private.ppk3.配置交换机<Switch>system-view[Switch]public-keylocalcreatersaTherangeofpublickeysizeis(512~2048).Ifthekeymodulusisgreatert......
  • OP设置SSH-绑定GitHub账户
    OP设置SSH-绑定GitHub账户https://github.com/dragonpilot-community/dragonpilot_wiki/blob/master/cn/how_to_setup_github_ssh.md从0.83开始,安装好OP后会删掉原来通用的ssh密钥信息,无法进行ssh/sftp登录。若需要登录,需要在OP里面绑定GitHub账户里头的ssh公钥。一、快捷偷懒......
  • shell的选择结构
     一、分支结构结合test指令完成一下编程1>判断闰年2>输入一个数判断是否为偶数3>使用test指令实现成绩等级判断90--100A60--89B0-50C其他错误 #!/bin/bash#分支结构结合test指令完成以下编程#1判断是否闰年read-p"请输入年份:"yearif[$((year%4))-eq0......
  • 从0开始实现自己的Shell
    实现自己的Shell(计蒜客996第三周实验)目录实现自己的Shell(计蒜客996第三周实验)进程、地址空间与线程进程和地址空间线程进程控制块进程状态与用户态和内核态之间的切换进程状态三态模型五态模型子进程与父进程fork()exit()wait()waitpid()exec()实验:设计自己的shell第一部分:log_t......
  • 排查sshfs挂载失败的问题
    排查sshfs挂载失败的问题写代码在Linux上运行,但是熟悉的IDE(比如VScode)在自己的电脑上,可以使用sshfs把linux上的目录挂载到本地,再用VScode打开即可,可以使用下面的命令:sshfs-odebug,sshfs_debug,loglevel=debug-orw,allow_other,uid=1190,gid=1190,reconnect,ServerAliveInte......
  • shell 中怎么定义常量
    在Shell脚本中,定义常量通常使用大写字母和下划线来表示,这是一种约定俗成的命名方式,以区分常量和变量。定义常量可以使用以下两种方法之一:使用readonly命令:shell#!/bin/bashreadonlyMY_CONSTANT="some_value"echo$MY_CONSTANT使用readonly命令可以确保变量的值在脚本......
  • shell 怎么获取参数的长度
    在这个示例中,${#param}会返回变量param的长度。这里param是脚本的第一个参数,即$1。如果你想获取特定参数的长度,只需将param替换为相应的变量,例如$2表示第二个参数,以此类推。完整示例脚本如下:shell#!/bin/bash#打印所有参数echo"Allparameters:$*"#打印所有参数,以......
  • 【Shell】基础的 shell 脚本编程入门
    目录注意点数值计算(())letexprbc基础条件测试test中括号双中括号各种比较逻辑注意点通配符和正则表达式不同符号含义不同,特别是*这个符号通配符:零到无限多个字符的意思正则表达式:重复零到无限多个前一个字符的意思${name}#取出变量结果$(date)#在括......