第三周作业

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

      首先用who命令列出当前系统上所有登陆用户,然后使用cut命令以空格为分隔符取出第一列,再使用sort排序并去除重复的行

        cut 命令: cut [OPTIONS]…[FILE]…

                                        -d delimiter:指明分隔符

                                        -f fileds:指明需要取出的字段

                                             #     :第#个字段

                                            #,#,#:离散的字段。如 1,2,3

                                             #-#  :连续的多个字段。如:1-3

        sort 命令: sort [OPTIONS]…[FILE]…

                                        -f:忽略字符的大小写

                                        -r:逆序

                                        -t delimiter:字段分隔符

                                        -k #:指定字段为标准排序

                                        -n:以数值大小进行排序

                                        -u:排序后去除重复的行

捕获.PNG

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

     使用last命令查询最后登陆系统的用户,此时最后一个登录的用户会显示在第一行,然后是用head取出第一行,cut出第一列的用户名,通过命令引用送给id命令查询用户信息

捕获.PNG

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

     cut取出/etc/passwd中所有shell的类型,sort进行排序,uniq显示每个shell重复的次数,sort按照次数进行大小排序,tail取出最后一行,再cut取出shell

    uniq命令:uniq [OPTIONS]…[FILE]…

                                    -c:显示每行重复的次数

                                    -d:仅显示重复的行

                                    -u:仅显示不重复的行

                    注意:连续且完全相同的方位重复。

捕获.PNG

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

捕获.PNG

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

捕获.PNG

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

         ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

        wc命令:字符统计

                        wc [OPTIONS]…[FILE]…

                                    -l lines:统计行数

                                    -w words:统计单词个数

                                    -c character:统计字符个数

    

捕获.PNG

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

捕获.PNG

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

        cat /etc/{fstab,issue} > /tmp/etc.test

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

用户和组相关的管理命令:

(1)用户创建:useradd

    useradd [OPTIONS] LOGIN

                        -u UID:[UID_MIN,UID_MAX],定义在/etc/login.defs 如果没有指定UID则依次使用最近一次的UID

                        -g GID:基本组,如果没有指定则使用与用户名相同的组名

                        -c " " :用户的注释信息

                        -d /path/to/dir :指定用户的家目录

                        -s SHELL:指定用户的默认shell,可用的shell列表在/etc/shells

                        -G GROUP1 GROUP2…:指定用户的附加组,可以有多个,用逗号隔开,组必须事先存在

                        -D:表示修改用户的默认选项;(修改的是/etc/default/useradd中的选项)

                                -s:修改用户的默认shell信息

(2)创建组:groupadd

    groupadd [options] group

                        -g GID:指明GID

                        -r :创建系统组

(3)查看用户的相关ID信息:id

    id [option]…[user]

            -u:UID

            -g:Gid

            -G:Groups

            -n:Name

(4)用户属性修改:usermod

    usermod [options] LOGIN

                        -u UID:新UID

                        -g GID:新GID

                        -G GROUP1,GROUP2…:新附加组,原来的附加组将会被覆盖,若要保留原来的,则要同时使用-a选项,表示追加。

                        -s SHELL:新的默认SHELL

                        -c "注释信息":新的注释信息

                        -d HOME:新的家目录,原有的家目录中的文件不会同时移动到新目录,若要移动,则要同时使用-m选项

                        -l login_name:新的名字

                        -L:lock指定用户

                        -U:unlock指定用户

                        -e YYYY-MM-DD:指定用户账号的过期日期

                        -f INACTIVE:指定非活动期限

(5)给用户添加密码:passwd

    管理员用户可以修改任何用户的密码,普通用户只能修改自己的密码;

    passwd [options] UserName

                        -l:锁定指定用户

                        -u:解锁指定用户 

                        -n mindays:指定最短使用期限

                        -x maxdays: 最大使用期限

                        -w warn days:提前多少天开始警告

                        -i inactive-days:非活动期限

                        –stdin :从标准输入接受用户密码:如: echo "passwd" | passwd –stdin USERNAME

(6)用户删除 :userdel

    userdel [option] LOGIN

                    -r:删除用户家目录

(7)组属性修改:groupmod

    groupmod [options] GROUP

                         -n group_name:新名字

                         -g GID:新的GID

(8)删除组:groupdel

    group [options] group

(9)组密码:组密码的作用为用户切换基本组,gpasswd

    gpasswd [options] group

                        -a user:将user添加至指定组中

                        -d user:将user从指定组中删除

                        -A userlist:设置有组管理权限的用户列表

(10)临时切换基本组:newgrp

如果用户本不属于此组,则需要组的密码:

   (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;
            echo "mageedu" | passwd –stdin mageia
   (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

原创文章,作者:M36-Masuri,如若转载,请注明出处:http://www.178linux.com/66837

(0)
M36-MasuriM36-Masuri
上一篇 2017-01-18
下一篇 2017-01-18

相关推荐

  • Linux发展史

    Linux发展史 Linux的简单介绍 Linux操作系统诞生于1991 年,是一套免费使用和自由传播的类Unix操作系统。Linux存在着许多不同的Linux发行版本。严格意义上的Linux系统应该是GUN/Linux(kernel+Application)而Linux本身只表示Linux系统内核,但实际上人们已经习惯了用Linux称呼GUN/Linux系…

    Linux干货 2016-10-13
  • 数据结构- 串的模式匹配算法:BF和 KMP算法

    Brute-Force算法的思想 1.BF(Brute-Force)算法   Brute-Force算法的基本思想是: 1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s 的第二个字符起再重新和串t进行比较。 2) 依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹…

    Linux干货 2015-04-07
  • linux之netfilter与 iptables学习

    Linux之netfilter与iptables学习 一、为什么我们的主机需要防火墙 二、Linux下防火墙如何实现 三、四表五链学习 四、主机防火墙 五、网络防火墙 六、iptables命令学习 七、主机防火墙规则备份与恢复 ====================================== 一、为什么我们的主机需要防火墙?  &nbs…

    Linux干货 2016-06-23
  • linux用户权限管理

       在linux文件系统中使用ls -l命令可以查看文件的属性,但是我们明白其中属性各自代表的意思吗?下面我们就来看一看,这其中的奥义。。。 文件属性 使用ls命令查看文件,可以发现列表分为几个部分,各自所代表的意义如图所示: 文件属性操作     chown 设置文件的所有者  &nb…

    Linux干货 2016-08-04
  • 【linux】正则表达式之grep、egrep、元字符

    正则表达式:     又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。是一类字符所书写的模式,其中许多字符(元字符)不表示其字面意义,而是表达控制或通配等功能。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符…

    Linux干货 2015-04-01
  • 计算机及Linux基础介绍

    Linux及计算机基础介绍 计算机的组成及其功能 What:计算机的组成是什么? 计算机的主要部件: CPU:可分为运算器、控制器、寄存器、缓存等 存储器:比如内存。执行程序时,会将程序及相关数据加载进内存,供CPU读取 输入设备:比如:键盘。用于下达指令及输入数据。 输出设备:比如显示器。用户显示和输出指令执行的结果等 冯诺依曼体系中提出的五大部件为:运算…

    Linux干货 2016-09-19