马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业
                    
                    

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

    [[email protected] ~]# who | awk ‘{print $1 $NF}‘| uniq -d
    [[email protected] ~]# who
    yicx     :0           2016-08-22 20:27 (:0)
    root     pts/0        2016-08-22 20:27 (192.168.102.149)

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

    [[email protected] ~]# lastlog | grep -v "Never"
    用户名           端口     来自             最后登陆时间
    root             pts/1                     一 8月 22 20:21:58 +0800 2016
    yicx             pts/2                     一 8月 22 20:21:40 +0800 2016

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

    [[email protected] ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n -u -r -k1 | head -1 |     awk ‘{print $NF}‘
    /sbin/nologin
    
    [[email protected] ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n -u -r -k1 | head -1
     35 /sbin/nologin
    [[email protected]t ~]# 

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

    [[email protected] ~]# sort -t: -k3 -n /etc/passwd |tail -10 > /tmp/maxusers.txt
    [[email protected] ~]# cat /tmp/maxusers.txt
    libstoragemgmt:x:992:990:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    saslauth:x:993:76:Saslauthd user:/run/saslauthd:/sbin/nologin
    geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
    colord:x:995:993:User for colord:/var/lib/colord:/sbin/nologin
    unbound:x:996:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    polkitd:x:997:996:User for polkitd:/:/sbin/nologin
    systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
    systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
    yicx:x:1000:1000:yicx:/home/yicx:/bin/bash
    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

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

    [[email protected] ~]# ifconfig| grep ‘inet‘ 
        inet 192.168.102.183  netmask 255.255.255.0  broadcast 192.168.102.255
        inet6 fe80::20c:29ff:fe36:e77f  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        
    [[email protected] ~]# ifconfig| grep ‘inet‘ | cut -d: -f2 | cut -d "" -f1
        inet 192.168.102.183  netmask 255.255.255.0  broadcast 192.168.102.255
        inet 127.0.0.1  netmask 255.0.0.0
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255

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

    [[email protected] ~]# ls /etc/*.conf |tr ‘a-z‘ ‘A-Z‘>  /tmp/etc.conf
    
    [[email protected] ~]# cat /tmp/etc.conf
    
    /ETC/ASOUND.CONF
    /ETC/AUTOFS.CONF
    /ETC/AUTOFS_LDAP_AUTH.CONF
    /ETC/BRLTTY.CONF
    /ETC/CGCONFIG.CONF
    /ETC/CGRULES.CONF
    /ETC/CGSNAPSHOT_BLACKLIST.CONF
    /ETC/CHRONY.CONF
    /ETC/DLEYNA-SERVER-SERVICE.CONF
    /ETC/DNSMASQ.CONF
    .....
    

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

    [[email protected] var]# ls -l | grep -v ‘^d‘ | wc -l
    4
    [[email protected] var]# ls -l | grep  ‘^d‘ | wc -l
    19

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

    [[email protected] var]# sort -t: -k3 -n /etc/group | head -10 |cut -d: -f1
    root
    bin
    daemon
    sys
    adm
    tty
    disk
    lp
    mem
    kmem

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

    [[email protected] var]# cat /etc/fstab /etc/issue | tee /tmp/etc.test
    #
    # /etc/fstab
    # Created by anaconda on Sat Aug 20 21:06:51 2016
    #
    # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=c9557893-e34d-4410-a4e0-f24104d11299 /                       xfs     defaults        0 0
    UUID=038bbf03-c7d4-4bfb-bcc4-102da61d7bf8 swap                    swap    defaults        0 0
    \S
    Kernel \r on an \m

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

                                        命令总结:
                                    
    useradd, groupadd, su, id, usermod, userdel, groupmod, groupdel, passwd, newgrp, pwck
                              gpasswd, chage, chsh, chfn, finger
                              
                              

   (1)、创建组distro,其GID为2016;
   
    [[email protected] ~]# groupadd -g 2016 distro
    [[email protected] ~]# groups distro
    groups: distro: no such user
   
   
   (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
   
    [[email protected] ~]# useradd -u 1005 -g distro mandriva
    [[email protected] ~]# id mandriva
    uid=1005(mandriva) gid=2016(distro) 组=2016(distro)
   
   
   (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
   
    [[email protected] ~]# useradd -u 1100 -d /home/linux mageia
    [[email protected] ~]# id mageia
    uid=1100(mageia) gid=1100(mageia) 组=1100(mageia)
    [[email protected] ~]# cd /home
    [[email protected] home]# ls
    linux  mandriva  yicx
   
   
   (4)、给用户mageia添加密码,密码为mageedu;
   
    [[email protected] home]# passwd mageia
    更改用户 mageia 的密码 。
    新的 密码:
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
   
   
   (5)、删除mandriva,但保留其家目录;
   
    [[email protected] home]# userdel mandriva
    [[email protected] home]# ls
    linux  mandriva  yicx
     
   
   
   (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
   
    [[email protected] home]# groupadd peguin
    [[email protected] home]# useradd -u 2002 -g distro -G peguin slackware
    [[email protected] home]# id slackware
    uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(peguin)
   
   
   (7)、修改slackware的默认shell为/bin/tcsh;
   
    [[email protected] home]# usermod -s /bin/tcsh slackware
    [[email protected] home]# cat /etc/passwd | grep "slackware"
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
   
   
   (8)、为用户slackware新增附加组admins;
   
    [[email protected] home]# groupadd admins
    [[email protected] home]# usermod -a -G admins slackware
    [[email protected] home]# id slackware
    uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(peguin),2018(admins)
   
   
   (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;
   
    [[email protected] home]# passwd -n3 -x80 -w3 slackware
    调整用户密码老化数据slackware。
    passwd: 操作成功
   
   
   (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;
   
    [[email protected] home]# useradd -u 3003 -g clouds -G peguin,nova openstack
    [[email protected] home]# id openstack
    uid=3003(openstack) gid=2019(clouds) 组=2019(clouds),2017(peguin),2020(nova)
   
   
   (11)、添加系统用户mysql,要求其shell为/sbin/nologin;
   
    [[email protected] home]# useradd -s /sbin/nologin mysql
    [[email protected] home]# id mysql
    uid=3004(mysql) gid=3004(mysql) 组=3004(mysql)
    [[email protected] home]# cat /etc/passwd |grep "mysql"
    mysql:x:3004:3004::/home/mysql:/sbin/nologin
   
   
   (12)、使用echo命令,非交互式为openstack添加密码。
   
    [[email protected] home]# echo "openstackpass" | passwd --stdin openstack
    更改用户 openstack 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
时间: 2024-10-02 23:32:23

马哥2016全新Linux+Python高端运维班第三周作业作答的相关文章

马哥2016全新Linux+Python高端运维班第三周作业

本周作业内容: 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. # who | cut -d' ' -f1 | sort -u 2.取出最后登录到当前系统的用户的相关信息. # id $(who | sort -t' ' -k3,4 | tail -1 | cut -d' ' -f1) 3.取出当前系统上被用户当作其默认shell的最多的那个shell. # cut -d: -f7 /etc/passwd | sort | uniq -c | sort

马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 答: 网桥:双端口的二层设备,可以隔离冲突域,一般用于划分LAN,或者链接LAN. 集线器:物理层设备,多端口,无法隔离冲突域,用于连接主机. 二层交换机:数据链路层设备,多端口,与网桥相比,交换机可学习MAC地址,根据MAC地址转发数据,可隔离冲突域,用于在路由设备与主机之间架设,接入层与汇聚层皆可使用. 三层交换机:相当于是带路由功能的二层交换机,工作在网络层,有更高的带宽,可做核心层使用,用于大中型网络的路由交

[作业] 马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥:比较古老的方式二层交换设备,网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域.类似中继器. 集线器: 二层交换设备,多口的网桥 二层交换机: 二层交换设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中 三层交换机: 工作在二层和三层,具有路由功能的交换机.三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有

马哥2016全新Linux+Python高端运维班第七周作业

1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳: 2.创建一个大小为1G的swap分区,并创建好文件系统,并启用之: 3.写一个脚本 (1).获取并列出当前系统上的所有磁盘设备: (2).显示每个磁盘设备上每个分区相关的空间使用信息: 4.总结RAID的各个级别及其组合方式和性能的不同

马哥2016全新Linux+Python高端运维班第五周作业

1.显示当前系统上root.fedora或user1用户的默认shell: 答:需要找到3个字符串,需要用到"或"命令,所以使用egrep.找到后cut再次筛选出我们需要显示的用户默认的shell. 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(): 答: 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 答:首先我们要了解什么是路径的基名和路径名: 基名:可以理解为路径名最右边的名称: 路径名:除基名以外

马哥2016全新Linux+Python高端运维班第六周作业

1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#: 答:可使用vim的查找替换功能完成: 命令如下: [[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp       ##复制文件 [[email protected] ~]# vim /tmp/rc.sysinit            ##vim编辑该文件 命令结果如下(下图红框为与上图对比效果):

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

马哥2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本周作业内容: 1.详细描述一次加密通讯的过程,结合图示最佳. 一次加密通讯的过程: 首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面. Bob用对称加密算法把数据及特征码整个进行加密. Bob用接收方的公钥加密对称密钥并附加到数据后面. Alice用私钥解密对称密钥. Alice用对称密钥解密出数据及加密的特征码. Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据. 如图所示: 单向

马哥2016全新Linux+Python高端运维班十一次作业

一.源码编译安装LNMP架构环境: 安装编译工具及库文件 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl