Linux shell学习之找UID小于500用户

最近自己一直在学习Linux,总感觉学的不少,但是学会并能灵活运用的不多。今天在研究vsftpd的时候,需要把系统内置用户(一般是UID小于500的用户)添加到/etc/vsftpd/ftpusers或者/etc/vsftpd/user_list。于是,自己就有个想法,怎么能获取UID小于500的用户列表呢?

 

根据自己的逻辑和想法,写了一个脚本,如下:

写一个脚本,找出/etc/passwd文件中,UID小于500的用户,并显示其用户名。

---------------------------------------------------------------------------

#!/bin/bash
#
sed ‘s/ /--/g‘ /etc/passwd > /tmp/passwd
for i in `cat /tmp/passwd`; do
      touch /tmp/tmp.txt && echo $i > /tmp/tmp.txt
      SYSID=`cat /tmp/tmp.txt | cut -d: -f 3`
   if [ $SYSID -lt 500 ]; then
       SYSNAME=`cat /tmp/tmp.txt | cut -d: -f 1`
       echo $SYSNAME
       rm -f /tmp/tmp.txt
   else
       continue
   fi
done
rm -f /tmp/tmp.txt
rm -f /tmp/passwd

-----------------------------------------------------------------------------

 

经过几次修改和调试,发现基本可以实现上述功能。总感觉这个脚本很拙劣,网上肯定有更简单的写法,于是就网上搜了一下,不搜不知道,一搜吓一跳。原来只需要一行就可以搞定了:

cat /etc/passwd | awk -F: ‘$3<500‘ | cut -f 1 -d :

 

通过以上,总结如下:

1、做到并不意味着做好。目前知道的只是皮毛,还有很多东西需要学习,需要提高。

2、awk的功能确实强大,要好好研究研究。

3、书本、网络或视频中的学习资料,看过看懂并不重要,重要的是要及时归纳总结,消化吸收。

4、仅以此,记录自己Linux学习之路,时刻警醒自己。

本文出自 “我的IT技术博客” 博客,请务必保留此出处http://pancho.blog.51cto.com/1587402/1544602

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。