第三周作业

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

    who | cut -d ' ' -f 1 | uniq

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

   egrep "^$(who | tail -1 | cut -d ' ' -f 1)\>" /etc/passwd

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

   cat /etc/passwd | cut -d : -f 7 | uniq -c | sort -t ' ' -k 1 -n |tail -1 

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

   tr [[:lower:]] [[:upper:]] < /etc/passwd | sort -t : -k 3 -n | tail -10 > /tmp/maxusers.txt

5、取出当前主机的IP地址。

   ip addr show | egrep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/[0-9]*" | cut -d '/' -f 1

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

   ls /etc/*.conf | tr [[:lower:]] [[:upper:]] > /tmp/etc.conf

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

   ls -l /var |wc -l

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

   cat /etc/group | sort -t : -k 3 -n | head -10 |cut -d : -f 1

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

   cat /etc/fstab /etc/issue > /tmp/etc.test

10、

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

        groupadd -g 2016 distro

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

        useradd -u 1005 -g distro mandriva

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

        useradd -u 1100 -d /home/linux mageia

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

        echo 'mageedu' | passwd –stdin mageia

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

        userdel mandriva

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

        groupadd peguin

        useradd -u 2002 -、g distro -G peguin slackware

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

        usermod -s /bin/tcsh slackware

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

        groupadd admins

        usermod -G admins slackware

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

        passwd  -n 3 -x 180 -w 3 slackware

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

         useradd -u 3003 -g clouds -G peguin nova

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

         useradd -s /sbin/nologin mysql

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

         echo 'abc123' | passwd –stdin openstack

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

(0)
3584373335843733
上一篇 2016-12-19
下一篇 2016-12-19

相关推荐

  • 高级变量-有类型变量

    一.高级变量用法– 有类型变量   Shell 变量一般是无类型的,但是bash Shell 提供了declare和 typeset 两个命令用于指定变量的类型,两个命令是等价的 declare [ 选项]  变量名 -r  将变量设置为只读属性 -i  将变量定义为整型数 -a  将变量定义为数…

    Linux干货 2016-11-24
  • OpenSSH

    ssh: secure shell, protocol, 22/tcp, 安全的远程登录 OpenSSH: ssh协议的开源实现; dropbear:另一个开源实现;  SSH协议版本 v1: 基于CRC-32做MAC,不安全;man-in-middle v2:双方主机协议选择安全的MAC方式 基于DH算法做密钥交换,基于RSA或DSA算法实现身份…

    Linux干货 2015-06-21
  • 生产环境模拟实现keepalived+Nginx调度器+httpd的高可用集群

    具体过程是用Nginx做负载均衡,可以将Nginx和主机放在同一台机子上,也可以分开放置,只不过分开的话要指明RS是Nginx的主机地址。至于直接将虚拟地址配置在Nginx主机上我暂时还未成功 下面附上我的双主模型的主keepalived服务器的配置 ! Configuration File for keepalive…

    Linux干货 2016-11-11
  • Linux入门命令(一)

    已经一年没有在接触过Linux了,经过一个星期的Linux学习之后,又重新对她产生了兴趣,本周学习了一些Linux入门级的命令: (1)     (1)tty 这个命令是查看当前所处于的中终端信息的,同样也可以使用 who am i ,who以及w来查看终端信息. 终端也还有物理终端、虚拟终端以及伪终端之分,在虚拟机下…

    2017-07-16
  • 基于Docker的工作流

    这次我们创建一个Hello world的web服务器。 一  mkdir -p identidock/app   #首先创建一个新的multiidentidock来存放我们的项目,在这个目录下面,创建一个app目录来存放Python代码。 touch app/identidock.py&n…

    Linux干货 2016-03-03
  • M20 – 1- 第二周博客(1):帮助手册查询的使用

    Linux系统中存在诸多的命令,而这些命令分为内键命令和外部命令。如何查询命令属于内部还是外部呢。前一篇博客已经介绍type命令,type命令可以区分命令属于内部还是外部,下面举个例子: 为什么这一期博客还重复讲如何区分内部与外部命令呢,因为在man手册查询中,内部命令并不是使用man查询帮助手册,仅仅使用与外部命令,那内键命令如何查询呢,接下来要讲的就是h…

    Linux干货 2016-08-02