网络班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

相关推荐

  • bash脚本进阶

    case  变量引用  in PAT1)分支1 ;; PAT2)  分支2 ;; … *) 分支n ;; esac case支持glob风格的通配符:   *:任意长度任意字符: ?:任意单个字符: [ ]:指定范围内的任意单个字符: a|b:a或b function:函数   &nbs…

    Linux干货 2017-05-21
  • CentOS7 实现网卡绑定

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    2017-12-19
  • week5

    1、显示当前系统上root、fedora或user1用户的默认shell; useradd fedora useradd user1 egrep "^(root|fedora|user1)" /etc/passwd | cut -d: -f1,7 2、找出/e…

    Linux干货 2016-11-24
  • Linux软件包管理

    一、rpm包管理工具 1、rpm包简介 rpm是redhat的软件包管理器。rpm包管理器全称rpm: Redhat Package Manager RPM  Package Manager。它的软件包后缀也为.rpm。除此外,debian,deb文件有dpkg包管理器。 rpm包的命名方式: 源代码:name-version.tar.{gz|bz…

    Linux干货 2016-08-21
  • HA专题: corosync+pacemaker实现nginx高可用

    HA专题: corosync+pacemaker实现nginx高可用 前言 实验介绍 实验拓扑 实验环境 实验步骤 准备工作 安装HA集群组件 安装nginx和配置nfs 使用crmsh配置集群资源 测试 总结 前言 这几天都会学习高可用集群, 也会将其中的一些实验写出来分享给大家, 这个专题估计会写5篇左右, p.s: 写博客很累的 实验介绍 这次的实验比…

    Linux干货 2016-04-11
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27

评论列表(1条)

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

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