马哥教育网络班22期+第3周课程练习

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

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


1472370027449107.jpg

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

    who | sort -t' ' -k4 | tail -1


1472370133283962.jpg

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

    cut -d: -f7 /etc/passwd | uniq -c | sort | head -1


1472370163947946.jpg

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

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


1472370216825066.jpg

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

    ifconfig eno16777736 | cut -d' ' -f10 | egrep "[0-9]+[.]"


1472370276649173.jpg

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

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


1472370314958122.jpg

7、显示/var目录下一级子目录或文件的总个数
    ll /var | grep "^[d]" | wc -l

    ll /var | grep "^[^d]" | wc -l


1472370391423273.jpg

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

    sort -t: -k3 -n /etc/group | head -10


1472370423521713.jpg

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

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


1472370463864148.jpg

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    groupadd命令:添加组
        groupadd [OPTION] GROUP
        -g GID:手动指定GID;默认是上一个组的GID+1

    groupmod命令:修改组属性
        groupmod [OPTION] GROUP
        -g GID:修改GID
        -n newname:修改组名

    groupdel命令:删除组
        groupdel GROUP

    useradd命令:创建用户
        useradd [OPTION] LOGIN
        -u,–uid:指定UID
        -g,–gid:指定基本组ID,此组得事先存在
        -c,–comment:致命注释信息
        -G,–groups GROUP1[,GROUP2,…[,GROUPN]]:指明用户所属的附加组,多个组之间用逗号分隔
        -d,–home:创建以指定路径为用户家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
        -M,–no-create-home:不创建家目录
        -s,–shelll:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
        -r,–system:创建系统用户
        PS:创建用户时的诸多默认设定配置文件为/etc/login.defs
        useradd -D:显示创建用户的默认配置
        useradd -D 选项:修改默认选项的值
        修改的结果保存于/etc/default/useradd文件中

    usermod命令:修改用户属性
        usermod [OPTION] LOGIN
        -u,–uid:修改用户的ID为此处指定的新ID
        -g,–gid:修改用户所属的基本组
        -G,–groups GROUP1[,GROUP2,…[,GROUPN]]:修改用户所属的附加组;原来的附加组会被覆盖
        -a,–append:与-G一同使用,用于为用户追加新的附加组
        -c,–comment:修改注释信息
        -d,–home:修改用户的家目录,用户原有的文件不会被转移至新位置
        -m,–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
        -l,–login:修改用户名
        -s,–shell:修改用户的默认shell
        -L,–lock:锁定用户密码,即在用户原来的密码字符串之前添加一个"!"
        -U,–unlock:解锁用户的密码

    userdel命令:删除用户
        userdel [OPTION] LOGIN
        -r:删除用户时一并删除其家目录

    passwd命令:
        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

    gpasswd命令:
        gpasswd [OPTION] group
        -a USERNAME:向组中添加用户
        -d USERNAME:从组中移除用户
                        
(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
        mageedu

        mageedu

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

        userdel mandriva

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

        useradd -u 2002 -g distro -G peguin slackware

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

        usermod -s /bin/tcsh slackware

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

        usermod -aG 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 -r -s /sbin/nologin mysql

(12)、使用echo命令,非交互式为openstack添加密码。
        echo "PASSWORD"|passwd –stdin openstack

原创文章,作者:N22-上海-葡挞,如若转载,请注明出处:http://www.178linux.com/41291

(0)
N22-上海-葡挞N22-上海-葡挞
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相关推荐

  • shell脚本编程初步入门

    shell脚本编程初步入门    说到shell脚本编程,那我们就来先看下shell,shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统内核的一部分,但它调用了系统核…

    Linux干货 2016-08-15
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; [root@localhost test]# ./exercise3.sh  be eable to login us…

    Linux干货 2016-08-05
  • 源码包编译安装MariaDB-10.1.22

    源码包编译安装MariaDB-10.1.22 1、获取源码包        mariadb-10.1.22.tar.gz 2、编译环境及依赖关系     yum groupinstall -y Development Tools yum -y install …

    Linux干货 2017-03-16
  • Linux磁盘与文件系统管理

    Linux磁盘管理 硬盘的物理组成 柱面 硬盘与读存数据相关的部件:圆形硬盘片(一或多个)、磁头、机械臂。 硬盘片上有磁道,多个硬盘片上的同一磁道形成柱面,这个柱面就是分区时形成的最小单位,windows的C盘(系统盘)分区就是在最外层的一堆柱面上。 扇区 硬盘上的最小存储单位叫扇区,每个扇区储存512字节。在读取数据的时候,硬盘会转动,利用机械手臂将磁头移…

    Linux干货 2016-11-22
  • CentOS6 网络管理之网卡配置及简单路由设置

    CentOS6中关于网络配置的命令有很多,本文将介绍几个平时最长用的几个命令,以及网卡IP地址的配置和简单路由配置。 1、经常使用的查看IP地址命令为 ifconfig,不跟参数的情况下默认查看所有已启用的网卡信息,如下图所示: 如果想查看具体某块网卡信息,则可以在ifconfig后面跟上网卡设备,如只查看eth0的信息则执行:ifconfig eht0 即…

    Linux干货 2016-09-05
  • MySQL Fabric 安装部署

    MySQL Fabric  是一个用于管理 MySQL 服务器群的可扩展框架。该框架实现了两个特性 — 高可用性 (HA) 以及使用数据分片的横向扩展。这两个特性既可以单独使用,也可以结合使用。 环境: 安装MySQL Fabric 配置MySQL Fabric MySQL Fabric 安装管理数据库fabric 启动MySQL Fab…

    数据库运维 2016-06-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 12:48

    希望同学在下次操作时,将输出结果一并附上,关键部分即可,不用全部,请加油