监视/etc/passwd文件是否正常

帮助监视/etc/passwd文件是否正常(P90 练习6.7)

1)找出有UID0的所有项

2)找出有重复UID的所有项

3)找出有重复登录名的所有项

4)找出没有口令的所有项

5)找出没有作废日期的所有项

以下是实现的shell脚本:

#!/bin/bash
#监视/etc/passwd正常

#找出有UID 0的用户
echo "----------------------------------"
user1=`less /etc/passwd | awk -F: ‘$3==0 {print $1}‘`
if [ -z $user1 ];then
echo "1.there is no user‘s UID equals 0"
else
echo -n "1.the user of UID equals 0 have: "$user1
echo ""
fi

#找出有重复UID的用户
echo "----------------------------------"
user2=`awk -F: ‘BEGIN{ORS=","}NR==FNR {a[$3]++} NR>FNR&&a[$3]>1 {print $1,$3}‘ /etc/passwd /etc/passwd`
if [ -z $user2 ];then
echo "2.there is no user‘s UID repeat"
else
echo -n "2.the user of repeat UID have: "$user2
echo ""
fi

#找出有重复登录名的用户
echo "---------------------------------"
user3=`awk -F: ‘BEGIN{ORS=","}NR==FNR {a[$1]++} NR>FNR&&a[$1]>1 {print $1,$3}‘ /etc/passwd /etc/passwd`
if [ -z $user3 ];then
echo "3.there is no user‘s login name repeat"
else
echo -n "3.the user of repeat login name have: "$user3
echo ""
fi

#找出没有口令的所有用户
echo "---------------------------------"
user4=`sudo awk -F: ‘BEGIN{ORS=","} length($2)<30 {print $1}‘ /etc/shadow`
if [ -z $user4 ];then
echo "4.there is no user have no password"
else
echo -n "4.the user of no password have: "$user4
echo ""
fi

#找出没有作废日期的所有用户
echo "---------------------------------"
user5=`sudo awk -F: ‘BEGIN{ORS=","} length($7)<1 {print $1}‘ /etc/shadow`
if [ -z $user5 ];then
echo "5.there is no user have no outdate time"
else
echo -n "5.the user of no outdate time have: "$user5
echo ""
fi
echo "---------------------------------"

监视/etc/passwd文件是否正常

时间: 2024-08-30 06:11:57

监视/etc/passwd文件是否正常的相关文章

LINUX用户管理——/etc/passwd文件详解

2010-09-21 12:13:41|  分类: LINUX|举报|字号 订阅 下载LOFTER客户端 输入vi /etc/passwd 可以查看此文件的内容 .本机内容如下: [root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bashroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/

/etc/shadow,/etc/passwd,/etc/shadow,/etc/passwd文件的内容解释

1.1 /etc/passwd文件内容格式           该目录存储的是操作系统用户信息,该文件为所有用户可见 用户名: 密码 : uid  : gid :用户描述:主目录:登陆shell 举个例子: 可以看出/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下 用户名:每个用户的标识字符串 密码:这里的x表示是暗文显示.如果是其他什么数字,就代表是密码明文. uid:每个用户必须被分配一个userid,”0”为root保留ID.1-99为系统保留,分配给系统预

linux passwd文件解析

#cat/etc/passwd root:x:0:0:Superuser:/: daemon:x:1:1:Systemdaemons:/etc: bin:x:2:2:Ownerofsystemcommands:/bin: sys:x:3:3:Ownerofsystemfiles:/usr/sys: adm:x:4:4:Systemaccounting:/usr/adm: uucp:x:5:5:UUCPadministrator:/usr/lib/uucp: auth:x:7:21:Authent

chattr 和 lsattr 命令介绍---案例:修改passwd文件

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多 功能不能实现.同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持.另外,通过chattr命令 修改属性能够提高系统的安全 性,但是它并不适合所有的目录.chattr命令不能保护/./dev./tmp./var 目录. lsattr比较简单,只是显示文件的属性 [email protected]:~$ lsattr ----ia---j--- ./lsattr_te

详细解析Linux /etc/passwd文件

本文转自:http://os.51cto.com/art/201003/187533.htm 在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性.系统管理员经常会接触到这个文件的修改以完成对用户的管理工作.这个文件对所有用户都是可读的.但是Linux /etc/passwd文件中都有些什么内容呢? 它的内容类似下面的例子:#cat/etc/passwdroot:x:0:0:Superuser:/:daemon:x:1:1:Systemdaemo

老男孩教育每日一题-第61天-使用命令调换 /etc/passwd 文件里所有的第一列和最后一列位置

老男孩教育每日一题-第61天-使用命令调换 /etc/passwd 文件里 root 位置和/bin/bash 位置?即将所有的第一列和最后一列位置调换? 例:默认:root:x:0:0:root:/root:/bin/bash 修改后:/bin/bash:x:0:0:root:/root:root 参考答案: 方法1:每列之前由冒号分隔,首先想到awk擅长取列,所以第一种方法使用awk,分隔符冒号 具体方法:每行分3组,第一组字母.数字.下划线.- 组成,第二组第一个冒号到最后一个冒号,第三组

/etc/passwd 文件

passwd文件存放在/etc目录下.这个文件存放着所有用户账号的信息.可以使用 cat /etc/passwd 命令查看该文件内容. passwd 文件是由许多条记录组成,每条记录占一行,记录了一个用户账号的所有信息.每条记录由7个字段组成,字段间用冒号隔开,其格式如下: <strong><span style="font-size:18px;">username:password:User ID:Group ID:comment:home directory

awk命令之 - 统计/etc/passwd文件中各用户所使用的shell类型及出现次数

统计/etc/passwd文件中各用户所使用的shell类型及出现次数 awk -F: 'BEGIN{printf"%-15s\t%s\n","ShellType","Count"}{shellType[$NF]++}END{for(i in shellType)printf"%-15s\t%d\n",i,shellType[i]}' /etc/passwd

/etc/passwd 文件详解

/etc/passwd 文件详解 root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologin 1.帐号名称 2.密码  密码数据放在/etc/shadow 中所以此处显示为× 3.UID  用户标识符 4.GID  组名 5.用户信息说明列 6.主文件夹 7