linux查看用户信息的几种方法
阅读数:139 评论数:0
跳转到新版页面分类
Linux
正文
一、查看当前登录用户
查看当前登录用户名
whoami
--------------------------------------------------------------------------------
root
(1)uid 用户的id和用户名
(2)gid 用户组id和组名称
(3)groups 用户附加组id和组名称
id
--------------------------------------------------------------------------------
uid=0(root) gid=0(root) groups=0(root)
使用id检测系统中某个用户是否存在
#!/bin/bash
id $1 &> /dev/null && {
echo $1 is exist
} || {
echo $1 is not exist
二、读取相关文件
存储着所有用户的基本信息,并且所有用户都对此文件拥有读权限。
cat /etc/passwd
--------------------------------------------------------------------------------
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
共七个字段,用冒号拼接:
(1)用户名
(2)其本是x
(3)uid,用户唯一ID
(4)gid
(5)账号说明性描述
(6)用户的家目录路径
(7)默认shell,如果为/sbin/nologin/,则不允许登录
文件/etc/shadow存储着所有用户的密码,同时为了确保安全,仅root权限用户对此文件拥有读权限。
cat /etc/shadow
--------------------------------------------------------------------------------
root:密文:17631:0:99999:7:::
daemon:*:17557:0:99999:7:::
bin:*:17557:0:99999:7:::
sys:*:17557:0:99999:7:::
共九个字段,用冒号拼接,格式如下:
(1)用户名
(2)密码密文(sha512)
(3)最近一次修改密码时间(从1970-01-01开始的天数)
(4)密码最小修改间隔天数(0表示随时修改密码)
(5)密码有效期(最晚N天之后必须悠,如9999表示密码长期有效)
(6)密码到期提醒(如7表示密码有效期第7天开始,每次登录时提示)
(7)密码过期后宽限天数(如10表示密码过期后10天内允许登录,过期禁用)
(8)账号失败日期(从1970-01-01开始的天数,到期无认账号是否有效,都将无法使用)
(9)保留字段
三、lslogins
列出系统中所有用户的信息。
lslogins
--------------------------------------------------------------------------------
UID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 94 0 0 08:21:11 root
1 bin 0 0 1 bin
2 daemon 0 0 1 daemon
3 adm 0 0 1 adm
4 lp 0 0 1 lp
5 sync 0 0 1 sync
6 shutdown 0 0 1 Jun01/02:00 shutdown
7 halt 0 0 1 halt
8 mail 0 0 1 mail
11 operator 0 0 1 operator
12 games 0 0 1 games
14 ftp 0 0 1 FTP User
28 nscd 0 0 1 NSCD Daemon
38 ntp 0 0 1
72 tcpdump 0 0 1
74 sshd 0 0 1 Privilege-separated SSH
81 dbus 0 0 1 System message bus
89 postfix 0 0 1
99 nobody 0 0 1 Nobody
192 systemd-network 0 0 1 systemd Network Management
998 chrony 0 0 1
999 polkitd 0 0 1 User for polkitd
(1)USER 用户名
(2)PWD-LOCK 密码已设置且已锁定(0: 未锁定,1:已锁定)
(3)PWD-DENY 登录密码是否禁用(0:允许密码登录, 1:禁用密码登录)
(4)LAST-LOGIN 最近一次登录日期
(5)GECOS 用户的其它信息
四、getent
从管理数据库中获取条目。
1、getent passwd
# 查找所有用户信息
getent passwd
# 查找指定用户信息(如:root)
getent passwd root
2、getent hosts
# 获取 所有 主机信息
getent hosts
# 根据 IP地址 查找
getent hosts IP地址
# 根据 域名 查找
getent hosts 域名
3、getent services
//获取 所有 服务信息(服务名、端口号、协议)
getent services
//获取 指定 服务信息(服务名、端口号、协议)
getent services 端口号
五、compgen
compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
选项
-a 列出所有别名;相关:alias
-b 列出bash内置命令
-c 列出所有可用命令
-d 列出当前目录下所有目录
-e 列出全局变量;相关:export
-f 列出当前目录所有文件
-g 列出系统所有的组
-j 列出后台执行的作业
-k 列出shell保留字
-s 列出所有的service
-u 列出系统所有的用户
-v 列出shell所有变量
相关推荐
1、/etc/passwd
系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读操作。
每一行代表一个账号,每一行使用“:”分隔开,共七个字段。
root:x:0:0:r
一、概述
1、ssh的安全验证
(1)基于账号和密码来验证登录。
(2)基于密钥
2、sshd的配置
sshd的配置文件是/etc/ssh/sshd_config
port 22
默认的sshd
一、概述
在Linux内核中,smp_setup_processor_id 函数是在系统引导期间,特别是在多处理器系统中用于设置当前处理器ID的函数。这个函数在早期的系统初始化代码中调用,其目的是确定
一、概述
在Linux内核中,控制组(cgroups)是一个功能,它允许内核对进程进行分组,并对这些分组施加不同类型的资源限制和监控。控制组可以用来限制资源使用(如CPU时间、系统内存、网络带宽等),
一、概述
1、功能
在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信
一、概述
1、为什么Linus不使用GPLv3
在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh
说明:这种方式只是用于方便阅读代码,因为可以在源代间快速索引跳跃。但是最后可能会有一些warning,可以不必关心,如果是强迫症,可以使用下面这种方式来去掉。
一、概述
在Linux系统中,/usr/bin和/usr/local/bin是两个常见的目录,用于存放可执行文件(二进制文件)。
很多应用都安装在/usr/local下面,先看一下automake工具
一、概述
vmstat命令是最常见的Linux/Unix监控工具,可以监控给定时间间隔服务器的CPU使用率、内存使用、IO情况。相比top命令,可以查看到整个机器的CPU、内存、IO的使用情况,而