N26-第三周博客作业

1、  列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

命令:who | cut -d' ' -f1 | sort –u

涉及知识点:

l  who命令

作用:查看当前所有的登录会话

l  cut命令

作用:将文本内容按照指定内容分割,然后取出指定字段。

常用选项:

 -d:指明分隔符

 -f #:指定取出第#个字段,可以是离散字段,比如2,3,5也可以1-3,2-5等等

l  sort命令

作用:对输出内容进行排序

常用选项:

 -f:忽略大小写

 -r:逆序

 -t:指明分隔符,类似cut的-d选项

 -k # :按照第#个字段进行排序,类似cut的-d选项

 -n:以数值大小进行排序

 -u:排序后去除重复行

         示例:blob.png

2、  取出最后登录到当前系统的用户的相关信息。

blob.png

3、  取出当前系统上被用户当作其默认shell的最多的那个shell。

命令:cat /etc/passwd | cut -d: -f7 | sort | uniq -c |sort -rn | head -1 | cut -d' ' -f7

解释:查看/etc/passwd  |

取以:为分隔符的第七个字段 |

对结果进行排序,如果这里不排序,使用相同shell的用户,如果不连续的话会分开计数 |

显示每一行出现的次数以及名称 |

按照大小逆序排列 |

取第一行(数字最大) |

以空格为分隔符取第七个字节

blob.png

4、  将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。

命令:

cat /etc/passwd | sort -t: -k3 -n | tail -10 | tr [a-z] [A-Z] >> /tmp/maxusers.txt

说明:

将/etc/passwd文件以:为分隔符,按第三个字段数值大小排序 |

取后十行 |

用tr命令进行大小写的替换 |

输出重定向至/tmp/maxusers.txt

 

blob.png

5、  取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

blob.png

6、  列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

命令:

ls /etc/*.conf | tr [a-z] [A-Z] >> /tmp/etc.conf

blob.png

7、  显示/var目录下一级子目录或文件的总个数。

命令:

           ls /var/ | wc –w

blob.png

wc命令:

用途:统计个数

常用选项:

-l:统计行数

-w:统计单词数

-c:统计字符数

8、  取出/etc/group文件中第三个字段数值最小的10个组的名字。

命令:cat /etc/group | sort -t: -k3 -n | head -10 | cut -d: -f1

blob.png

9、  将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

命令:cat /etc/fstab >> /tmp/etc.test && cat /etc/issue >>/tmp/etc.test

blob.png

10、   请总结描述用户和组管理类命令的使用方法并完成以下练习:

用户管理类命令:

l  useradd

-u UID:指定UID

-g GID:指定GID

-c “”:用户的注释信息

-d /path:指定用户的家目录

-s SHELL:指定用户的默认SHELL

-G GRP1,GRP2:指定用户的附加组(需事先存在),多个用,隔开

l  usermod

-u UID:指定UID

-g GID:指定GID

-G GRP1,GRP2:指定用户的附加组,会覆盖原有的附加组,若保留原有,要同时使用-a

-c “”:用户的注释信息

-d /path:指定用户的家目录,原有的家目录不会移动,若要移动,同时使用-m

-s SHELL:指定用户的默认SHELL

-l NAME:更改用户名

-L :锁定指定用户

-U:解锁指定用户

l  passwd

-l:锁定指定用户

-u:解锁指定用户

-n:指定最短使用时间

-x:最长使用时间

-w:提前多少天开始告警

   (1)、创建组distro,其GID为2016;

                   命令:

                   groupadd distro -g 2016

                   blob.png

   (2)、创建用户mandriva, 其ID号为1005;基本组为distro;

                   命令:

                   useradd mandriva -u 1005 -g distro

                   blob.png

   (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

                   命令:

                   useradd mageia -u 1100 -d /home/linux

                     blob.png

   (4)、给用户mageia添加密码,密码为mageedu;

                   命令:

                            echo "mageedu" | passwd –stdin mageia

                    blob.png

   (5)、删除mandriva,但保留其家目录;

                    blob.png

   (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

                   命令:

useradd slackware -u 2002 -g distro -G peguin

                   blob.png

   (7)、修改slackware的默认shell为/bin/tcsh;

                   命令:usermod -s /bin/tcsh slackware

                   查看当前系统所有的可用shell:cat /etc/shells

                   blob.png

   (8)、为用户slackware新增附加组admins;

                   命令:usermod -aG admins slackware

                   blob.png

   (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;

         命令:

                   echo "PASSWARD" | passwd –stdin slackware && passwd -n 3 -x 180 -w 3 slackware

                    blob.png

   (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

                   blob.png

   (11)、添加系统用户mysql,要求其shell为/sbin/nologin;

                   blob.png

   (12)、使用echo命令,非交互式为openstack添加密码。

                   blob.png

原创文章,作者:EUSCE,如若转载,请注明出处:http://www.178linux.com/68137

赞 (0)
EUSCEEUSCE
上一篇 2017-02-10 20:41
下一篇 2017-02-11 11:20

相关推荐

  • Centos7下的systemd管理

    systemd简介 Systemd是由红帽公司的一名叫做Lennart Poettering的员工开发,systemd是Linux系统中最新的初始化系统(init),它主要的设计目的是克服Sys V 固有的缺点,提高系统的启动速度,systemd和upstart是竞争对手,ubantu上使用的是upstart的启动方式,centos7上使用systemd替换…

    Linux干货 2016-09-23
  • 网络接口bonding的设置、网卡别名的设置

    网络接口bonding的设置、网卡别名的设置 网络接口bonding的设置 1.bonding的原理 Bonding就是将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。 2.Bonding 的工作模式 …

    Linux干货 2016-09-05
  • zabbix low-level discover 监控端口

    zabbix通过调用jason格式的输出,实现数据的收集 获取端口的shell脚本   #!/bin/bash port_array=(`netstat -tnl|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]…

    Linux干货 2016-06-09
  • ansible学习笔记之2 ad-hoc篇

    ansible学习笔记之2 ad-hoc篇 ansible学习笔记之2 ad-hoc篇 ansible 学习笔记 ad-hoc ansible学习笔记之2 ad-hoc篇 使用ansible ad-hoc搭建lnmp/lamp 编辑host文件,通过秘钥认证ssh连接主机 前期环境准备 在lnmp上安装lnmp 其中 ad-hoc搭建mysql主从 配置文件…

    2016-11-21
  • 马哥教育首届IT技术博客大赛–结果揭晓

    号外、号外!!马哥教育首届博客大赛已圆满结束。感谢小伙伴们的积极参与! 噼里啪啦,小伙伴们掌声响起来,啤酒烤鸭high起来~~咳咳,跑题了,小编好像忘了一件很重要的事: 马帮博客大赛就是与众不同,全银河系也就仅此一家,为啥这么说呢,您看啊,咱就喜欢原创,鼓励原创,酷爱原创,以原创博客作为技术交流的平台供大家随意围观和吐槽,您看看,除了马哥这里,哪里还有这么自…

    Linux干货 2016-06-22
  • vim使用方法

    vim是vi的增强版本,具有比vimi更加强大的功能,对于尤其适合编写脚本,下面总结一下vim的常用方法。 vim三种工作模式。         1. 编辑模式:          &nbs…

    2015-03-18

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-02 19:50

    很棒,加油。