网络班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)
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相关推荐

  • N25-Bazinga-第四周作业

    N25-Bazinga-第四周作业 1.复制/etc/ske1目录为/home/tuser1,要求/home/tuser及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost ~]# cp -a /etc/skel/ /home/tuser1 [root@localhost&nbsp…

    Linux干货 2016-12-21
  • 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,L…

    Linux干货 2015-04-20
  • puppet代码分析

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    2017-03-18
  • Nginx首部相关模块使用介绍-隐藏,修改

    ngx_http_headers_module模块一. 前言ngx_http_headers_module模块提供了两个重要的指令add_header和expires,来添加 “Expires” 和 “Cache-Control” 头字段,对响应头添加任何域字段。add_header可以用来标示请求访问到哪台服务器上,这个也可以通过nginx模块nginx-…

    Linux干货 2017-05-06
  • 安装centos7

    在vmware安装centos7

    2018-03-26
  • Linux文件管理类命令

    文件管理工具:cp,mv,rm cp命令:copy,用于实现复制功能      源文件 —-> 目标文件        cp [OPTION]… [-T] SOURCE DEST   #单源复制        …

    Linux干货 2016-08-22

评论列表(1条)

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

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