shell 格式化输出密码

  •  格式化输出/etc/passwd,效果如下
[root@zabbix-server day6]# awk -F: 'BEGIN{ print "用户名 UID 家目录" } 
{print $1,$3,$6}' /etc/passwd
用户名 UID 家目录
root 0 /root
bin 1 /bin
daemon 2 /sbin
adm 3 /var/adm
lp 4 /var/spool/lpd
sync 5 /sbin
shutdown 6 /sbin

[root@zabbix-server day6]# awk -F: 'BEGIN{ print "用户名 UID 家目录" } 
{print $1,$3,$6}' /etc/passwd | column -t
用户名               UID    家目录
root                 0      /root
bin                  1      /bin
daemon               2      /sbin
adm                  3      /var/adm
lp                   4      /var/spool/lpd
sync                 5      /sbin
shutdown             6      /sbin
halt                 7      /sbin
mail                 8      /var/spool/mail
operator             11     /root

过滤系统账户对应的密码

  • 在awk中可以通过-v选项调用shell中的变量
[root@zabbix-server day6]# x="hello"
[root@zabbix-server day6]# awk 'BEGIN{print x}'

[root@zabbix-server day6]# awk -v tmp=$x 'BEGIN{print tmp}'
hello
  • 从/etc/passwd中将所有能登陆的账户名提取出来
  • 从/etc/shadow中提取账户对应的密码
[root@zabbix-server day6]# more userpass.sh 
#!/bin/bash

USER=$(awk -F: '/bash$/{print $1}' /etc/passwd)
for i in $USER
do
 awk -F: -v iuser=$i '$1==iuser{print $1,$2}' /etc/shadow
done
[root@zabbix-server day6]# ./userpass.sh 
root $6$aDaQ0CHx.qEoIPdq$sSaMQLhOattjJCaiqC/drUcJO8n4a1Mb9FiY0zy49Xds40n7QVW35ZBVEG/Xk2TGLcHBKrEXlyFTZt2raTfa4.
k8s $6$9rtJNCsx8kxL6Ac8$72Qhi3kl3mOVnKObpba.TwwmS5YBQVSd1KT4YRHyZI673goh8cgm5Bk/YwRerQ3JfKc0z8qNYc5twq9J88BMh0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值