week3:cut,sort,grep等shell工具的应用及用户,组管理类命令

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

   who | cut -d' ' -f1 | sort –u

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

   who | cut -d' ' -f1 | tail -1 | id

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

   cat /etc/passwd | cut -d: -f7 | uniq -c | sort -n | tail -1

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

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

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

  Centos6:

  ifconfig | grep inet | cut -d ' ' -f12|cut -d: -f2|head -1

  centos7:

  ifconfig | grep inet | cut -d ' ' -f10|head -1

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

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

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

 ls /var/ | wc -l

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

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

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;

 

 ~]# passwd mageia

 

5:删除mandriva,但保留其家目录;

 

 ~]# userdel mageia

 

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;

 

  ~]# usermod -G admins,peguin slackware

 

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

 

     ~]# echo "123456" | passwd –stdin slackware && chage -m 3 -M 180 -W 3 slackware

 

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

 

  ~]# groupadd nova, clouds

 

   ]# useradd openstack -u 3003 -g clouds -G peguin,nova

 

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

 

   ~]# useradd mysql -r -s /sbin/nologin

 

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

 

   ~]# echo "123456" | passwd –stdin openstack

原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/60176

(0)
N24_云淡风轻N24_云淡风轻
上一篇 2016-11-20 17:55
下一篇 2016-11-20 18:11

相关推荐

  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • Linux系统文件管理

    1、Linux的文件类型:       –:普通文件;       d:目录文件;       b:块设备:     &nbsp…

    Linux干货 2016-08-04
  • linux用户与组的基本概念–20160730

    用户组和权限管理—概念       用户组和权限管理—概念 3A:认证,授权,审计。 每个使用者:用户标识,密码:  Authentication    :  认证 Authorization     :授权 Accout/Audition…

    Linux干货 2016-08-04
  • 设计模式(一)工厂模式Factory(创建型)

      在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在…

    Linux干货 2015-06-23
  • Linux GNU AWK使用

                                    Linux GNU AWK使用 本章内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断…

    系统运维 2016-10-01
  • Linux命令执行

    Linux命令 Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和外部命令。 命令格式 COMMAND [OPTIONS…] [ARGU…

    Linux干货 2017-07-15