N26-第三周作业-邢岩

马哥门徒-N26-邢岩


  “精深练习×一万小时=世界级技能”。髓鞘质是不可逆的,就让我们包裹一层厚厚的髓鞘质吧!今天继续我的练习。

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


 ~]# who | cut -d' ' -f1 | sort -u

1.jpg


  第二题,取出最后登录到当前系统的用户的相关信息。


 ~]# echo $ /etc/passwd | last |head -n1

2.jpg


  第三题,取出当前系统上被用户当作其默认shell的最多的那个shell


   ~]# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -nr | head -1 | cut -d' ' -f7

3.jpg


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


  ~]# cat /etc/passwd | sort -t: -k3 -n | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt4.jpg


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


  ~]# ifconfig|grep inet | head -n1 | cut -d' ' -f10

  ~]# ifconfig|grep 'inet' | head -1 | awk '{ print $2; }' | sed 's/\/.*$//'

6.jpg

5.jpg


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


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

7.jpg


 第七题,显示/var目录下一级子目录或文件的总个数。


 ~]# ls -al /var | wc -l

8.jpg


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


 ~]# sort -t: -k3 -n /etc/group | cut -d: -f1 | head -10

9.jpg


  第九题,/etc/fstab/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。


  ~]# cat /etc/{fstab,issue} > /tmp/etc.test

10.jpg


 第十题,请总结描述用户和组管理类命令的使用方法。


 用户和组管理类命令介绍如下:

   1.groupadd:添加组

 groupadd [选项] group_name

   -g GID: 指定GID,默认是上一个组的GID+1;

   -r : 创建系统组

   2.groupmod:修改组属性

 group [选项] GROUP

   -g GID:修改GID

   -n new_name: 修改组名

   3.groupdel: 删除组

   4.useradd: 创建用户

 useradd – 创建一个新用户或更新默认新用户信息

   -u, –uidUID:指定UID

   -g,–gid GROUP: 指定基本组ID,此组要事先存在

   -G,–groups GROUP1,[GROUP2,…]

   -c,–comment COMMENT: 指明注释信息

   -d, –home HOME_DIR: 以指定路径为用户的家目录,通过复制/etc/skel此目录并重命名实现的;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;

   -s, –shellSHELL:指定用户的默认shell,可用的所有shell列表为存储在/etc/shells 文件

   -r,–system: 创建系统用户

   -m, –create-home

   -M, –no-create-home

 ~]# useradd -D

    GROUP=100

    HOME=/home   不是系统组时,要不要创建家目录

    INACTIVE=-1  非活动期限为禁用

    EXPIRE=      过期期限为永不过期

    SHELL=/bin/bash  默认shell

    SKEL=/etc/skel  骨架信息

    CREATE_MAIL_SPOOL=yes  自动创建用户专用邮筒

             注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

   useradd -D : 显示创建用户的默认配置

   useradd -D 选项: 修改默认选项的值

            修改的结果保存于/etc/default/useradd文件中;

   5.usermod:

     -u,–uid UID: 修改用的ID为此处的指定的新ID

     -g,–gid GROUP: 修改用户所属的基本组

     -G,–group GROUP1[,GROUP2,…]: 修改用户所属的附加组,原来的附加组会被覆盖;

     -a,–append: 与-G 一同使用,用于为用户添加新的附加组

     -c,–comment COMMENT: 修改注释信息

     -d, –home HOME_DIR: 修改用户的家目录;用户原有的文件不会被转移至新位置

     -m,–move_home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录

     -l, –login NEW_LOGIN:修改用户名

     -s, –shell SHELL:修改SHELL

     -L,–lock:锁定用户密码:即在用户原来的密码字符串值之前添加一个"!"

     -U,–unlock:解锁用户的密码:去掉"!"

   6.userdel:

      -r: 删除用户时一并删除其家目录,默认不删除

   7.passwd: update user's authentication tokens

      passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]

      [-S] [–stdin] [username]

       1)passwd:修改用户自己的密码

       2)passwd USERNAME: 修改指定用户的密码,但仅root有此权限

        -l,-u:锁定和解锁用户

        -d: 清除用户密码

        -e DATE:过期期限,为日期

        -i DAYS:非活动期限

        -n DAYS:密码的最短使用期限

        -x DAYS:密码的最长使用期限

        -w DAYS: 警告期限

           

          –stdin:

            echo "PASSWORD" | passwd –stdin USERNAME

        如:

         ~]# echo "mageedu" | passwd –stdin docker

         ~]# echo "mageedu" | passwd –stdin docker &> /dev/null

         ~]# echo$?

   8.gpasswd:组密码文件:/etc/g

     gpasswd [选项] group

      -a USERNAME:向组中添加用户

      -d USERNAME:从组中移除用户

   9.newgrp命令:临时切换指定的组为基本组

      newgrp [-] [group]

      -:会模拟用户重新登录以实现重新初始化其工作环境

   10.chage命令:更改用户密码过期信息

        -d:

        -E:

        -W:

        -m:

        -M:

   11.id命令:显示用户的真实和有效ID信息

       id [OPTION]… [USER]

     -u:仅显示有效的UID

        -g:仅显示用户的基本组ID

        -G:显示用户所属的所有组的ID

     -n:显示名称而非ID

   12.su命令:switch user

      登录式切换:会通过重新读取目标用户的配置文件来重新初始化

       su – USERNAME

       su -l USERNAME

      非登录式切换:不会读取目标用户的配置文件进行初始化

       su USERNAME

      注意:管理员可以无密码切换至其他任何用户

       -c 'COMMAND' : 仅以指定用户的身份运行此处指定的命令


 第十一题,根据第十题完成以下练习:  

   (1)、创建组distro,其GID2016

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

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

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

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

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

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

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


  (1)~]#groupadd -g 2016 distro

11.jpg

  (2)~]# useradd -u 1005 -g distro mandriva

12.jpg

  (3)~]# useradd -u 1100 -d /home/linux mageia

13.jpg

  (4)~]# echo "mageedu" | passwd –stdin mageia

14.jpg

  (5)~]# userdel mandriva

15.jpg

  (6) ~]# useradd -u 2002 -g distro -G peguin slackware

17.jpg

  (7)~]# usermod -s /bin/tcsh slackware

18.jpg

  (8)~]# usermod -aG admins slackware

19.jpg


 OK!今天的分享到此结束,Bye!N26-第三周作业-邢岩

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

(0)
jequejeque
上一篇 2017-02-14
下一篇 2017-02-15

相关推荐

  • shell脚本编程

    一、编程基础: shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1)     第一步:使用文本编辑器来创建文本文件 script.sh 并编写内容 格式要求:首行shebang &nb…

    Linux干货 2016-08-15
  • N25第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -a usersh nologin=0 login=0 usersh=($(cut -d’:’ -f7 /etc/passwd)) ##数组赋值时需…

    Linux干货 2017-03-04
  • CentOS系统启动流程与grub

    本文主要讲述CenOS系统启动的整个流程。 对于CentOS系统来说,整个启动过程可分为4个阶段,分别是:加点自检,加载MBR,加载内核并执行初始化信息,初始化用户空间。下面就具体来描述每个过程都做了什么。 一.加点自检(power on system test,POST) 任何一种操作系统的启动,第一步必定是加点自检,主要功能是装载在硬件芯片CMOS之上的…

    Linux干货 2016-11-29
  • 文本处理-三剑客-awk

    报告生成器,格式化文本输出
    awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …

    2018-03-16
  • httpd2.4 应用

    练习:  (1)基于主机名实现三个虚拟主机     (2) 每虚拟主机使用独立的访问日志和错误日志 (3) 第三个虚拟主机的/admin要进行用户访问认证  (4) 在第二个虚拟主机上提供/status; (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径; (6) 尝试使用混合类型…

    Linux干货 2016-10-09
  • 计算机及Linux基础介绍

    Linux及计算机基础介绍 计算机的组成及其功能 What:计算机的组成是什么? 计算机的主要部件: CPU:可分为运算器、控制器、寄存器、缓存等 存储器:比如内存。执行程序时,会将程序及相关数据加载进内存,供CPU读取 输入设备:比如:键盘。用于下达指令及输入数据。 输出设备:比如显示器。用户显示和输出指令执行的结果等 冯诺依曼体系中提出的五大部件为:运算…

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-26 15:28

    赞!