网络班N22期第三周博客作业

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

[root@bogon ~]# w
 15:17:44 up 15:28,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.188    03:44    7:45m  0.43s  0.08s vim /etc/init.d/functions
root     pts/1    192.168.1.188    07:33    0.00s  6.75s  0.00s w
[root@bogon ~]# who | awk '{print $1}' | uniq
root
[root@bogon ~]#


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

[root@bogon ~]# last | head -1
root     pts/1        192.168.1.188    Sat Nov 21 07:33   still logged in   
[root@bogon ~]#

 

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

[root@bogon ~]# cat /etc/passwd | cut -d: -f7 | sort | uniq -cd | sort | head -1
     27 /bin/bash
[root@bogon ~]#

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

[root@bogon ~]# cat /etc/passwd | sort -nr -t : -k 3 | head -10 | tr [a-z] [A-Z] | tee /tmp/maxusers.txt
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
USER2:X:5037:5038::/HOME/USER2:/SBIN/HALT
KOURONG:X:5036:5036::/HOME/KOURONG:/BIN/BASH
HADOOP10:X:5035:5035::/HOME/HADOOP10:/BIN/BASH
HADOOP9:X:5034:5034::/HOME/HADOOP9:/BIN/BASH
HADOOP8:X:5033:5033::/HOME/HADOOP8:/BIN/BASH
HADOOP7:X:5032:5032::/HOME/HADOOP7:/BIN/BASH
HADOOP6:X:5031:5031::/HOME/HADOOP6:/BIN/BASH
HADOOP5:X:5030:5030::/HOME/HADOOP5:/BIN/BASH
HADOOP4:X:5029:5029::/HOME/HADOOP4:/BIN/BASH
[root@bogon ~]# cat /tmp/maxusers.txt 
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
USER2:X:5037:5038::/HOME/USER2:/SBIN/HALT
KOURONG:X:5036:5036::/HOME/KOURONG:/BIN/BASH
HADOOP10:X:5035:5035::/HOME/HADOOP10:/BIN/BASH
HADOOP9:X:5034:5034::/HOME/HADOOP9:/BIN/BASH
HADOOP8:X:5033:5033::/HOME/HADOOP8:/BIN/BASH
HADOOP7:X:5032:5032::/HOME/HADOOP7:/BIN/BASH
HADOOP6:X:5031:5031::/HOME/HADOOP6:/BIN/BASH
HADOOP5:X:5030:5030::/HOME/HADOOP5:/BIN/BASH
HADOOP4:X:5029:5029::/HOME/HADOOP4:/BIN/BASH
[root@bogon ~]#

五、取出当前主机的IP地址

[root@bogon ~]# ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
192.168.1.140
[root@bogon ~]#

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

[root@bogon ~]# find /etc -type f -name *.conf | tr [a-z] [A-Z] | tee /tmp/etc.test
/ETC/SUDO.CONF
/ETC/SASL2/SMTPD.CONF
/ETC/SASL2/LIBVIRT.CONF
/ETC/ODDJOBD.CONF
/ETC/READAHEAD.CONF
..................


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

[root@bogon ~]# ls /var | wc -l
20
[root@bogon ~]#

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

[root@bogon ~]# cat /etc/group | sort -n -t: -k 3 | head -10 | cut -d: -f 1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
[root@bogon ~]#

 

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

[root@bogon ~]# cat /etc/fstab /etc/issue >> /tmp/etc.test
[root@bogon ~]# cat /tmp/etc.test 
# /etc/fstab
# Created by anaconda on Wed Sep 30 06:46:38 2015
#
# 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
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=9d1e60cd-bf15-4e70-a76e-385354cc864f /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sdd1               /backup                 ext3    defaults        0 0
/dev/sdd1               /backup                 ext3    defaults        0 0
CentOS release 6.5 (Final)
Kernel \r on an \m

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

(1)用户管理类命令:useradd、usermod、userdel、w、who、whoami

    useradd:添加用户

       useradd [options] LOGIN
       useradd -D
       useradd -D [options]

    options:

       -b:设置基本路径作为用户的登录目录

       -c:指定注释信息

       -d:指定用户家目录

       -D:更改默认设置

       -e:设置用户的有效期

       -f:用户过期后,让密码无效

       -g:使用户只属于某个组

       -G:为用户指定附加组

       -r:建立系统账号

       -s:为用户指定shell

       -u:为用户指定UID

    usermod:修改用户

          usermod [options] LOGIN

     options:

       -a:为用户添加附加组

       -c:修改注释信息

       -d:修改用户家目录

       -e:修改用户过期期限

       -L:锁定用户

       -U:解锁

       -s:修改用户shell

    userdel:删除用户

        userdel [options] LOGIN

     options:

       -r:删除用户时删除其家目录

    w、who:查看当前系统上登录的所有用户

    whoami:查看当前登录用户名

(2)组管理类命令:groups、groupadd、groupdel、groupmod

    goupadd:添加组

        groupadd [options] group

     options:

       -g:指定组的GID

       -r:创建为系统组

    groupmod:修改组信息

        groupmod [options] GROUP

    options:

       -g:修改组的GID

    groupdel:删除组

                groupdel group

练习:

1、创建组distro,其GID为2016

[root@bogon ~]# groupadd -g 2016 distro
[root@bogon ~]# cat /etc/group | tail -1
distro:x:2016:

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

[root@bogon ~]# useradd -g distro -u 1005 mandriva
[root@bogon ~]# id mandriva
uid=1005(mandriva) gid=2016(distro) groups=2016(distro)

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

[root@bogon ~]# useradd -d /home/linux -u 1100 mageia

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

[root@bogon ~]# passwd mageia
Changing password for user mageia.
New password:

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

[root@bogon ~]# userdel mandriva     #userdel删除默认不删除其家目录

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

[root@bogon ~]# useradd slackware -g distro -u 2002 -G peguin
[root@bogon ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),5039(peguin)

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

[root@bogon ~]# usermod -s /bin/tcsh slackware
[root@bogon ~]# cat /etc/passwd | tail -1
slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

[root@bogon ~]# usermod -G admins slackware
[root@bogon ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),5040(admins)

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

[root@bogon ~]# echo "magedu" | passwd -n 3 -x 180 -w 3  --stdin slackware 
Adjusting aging data for user slackware.
passwd: Success
[root@bogon ~]# cat /etc/shadow | tail -1
slackware:!!:16761:3:180:3:::

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

[root@bogon ~]# id openstack
uid=3003(openstack) gid=5041(clouds) groups=5041(clouds),5039(peguin),5042(nova)

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

[root@bogon ~]# useradd -r -s /sbin/nologin mysql
[root@bogon ~]# id mysql
uid=496(mysql) gid=493(mysql) groups=493(mysql)
[root@bogon ~]# cat /etc/passwd | tail -1
mysql:x:496:493::/home/mysql:/sbin/nologin

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

[root@bogon ~]# echo "magedu" | passwd --stdin openstack
Changing password for user openstack.
passwd: all authentication tokens updated successfully

原创文章,作者:凸b男波万,如若转载,请注明出处:http://www.178linux.com/41164

(0)
凸b男波万凸b男波万
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • Linux的发行版和它们区别跟联系

    linux的主要发行版有Debian,Slackware,RedHat三个大系列    Debian 最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发…

    Linux干货 2017-07-02
  • Week1: Linux 初步

    1. 描述计算机的组成及其功能 一个完整的计算机系统由硬件系统和软件系统两大部分组成 冯诺依曼体系下的计算机五大部件 CPU:运算器、控制器、寄存器、缓存(一二三级缓存)) 存储器:内存 RAM(Random-Access Memory) Input:输入指令、提供数据 Output: 输出数据加工后的结果 要点:计算机中的信息(程序和数据)以二进制方式表示…

    Linux干货 2016-12-04
  • 三次握手,四次挥手

    TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。 在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的的几个名词(这里只是简单说明,具体请查看相关教程)下面是TCP报文格式图:     序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的…

    2017-09-03
  • Linux系统启动基本流程

    Linux开机流程 如下图 00×01、BISO自检     硬件检查,检查硬件完整性,之后从开机BIOS开机硬件列表选择BOOT设备     2. 00×02、MBR引导     从bootloader446…

    2017-07-09
  • 马哥Linux学习之Linux背景和主要发行版篇

        Linux是一种 类Unix计算机操作系统的统称,简单的说来就是Linux内核+GNU工程的各种工具和数据库。Linux包括各种Linux的发行版,其实也就是为达到不同的目的而制作(目的包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用或嵌入式)的不同版本。     Linux的由来.…

    2015-03-19
  • N26-第一周作业

    1、计算机主要由硬件部分和软件部分组成。     硬件部分:         (1)、CPU:包括运算器、控制器、寄存器、缓存。CPU的核心部件是运算器和控制器,它的功能主要是解释计算机指令以及处理计算机软件中的数据。         (2…

    Linux干货 2016-12-27

评论列表(1条)

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

    每一个命令的输出结果都展示出来,很好。