马哥教育网络班22期+第3周课程练习

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

    who | cut -d' ' -f1 | sort -u


1472370027449107.jpg

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

    who | sort -t' ' -k4 | tail -1


1472370133283962.jpg

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

    cut -d: -f7 /etc/passwd | uniq -c | sort | head -1


1472370163947946.jpg

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

    sort -t: -k3 -n /etc/passwd | tail -10 | tr [a-z] [A-Z] 1> /tmp/maxusers.txt


1472370216825066.jpg

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

    ifconfig eno16777736 | cut -d' ' -f10 | egrep "[0-9]+[.]"


1472370276649173.jpg

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

    ls /etc/*.conf | tr [a-z] [A-Z] 1> /tmp/etc.conf


1472370314958122.jpg

7、显示/var目录下一级子目录或文件的总个数
    ll /var | grep "^[d]" | wc -l

    ll /var | grep "^[^d]" | wc -l


1472370391423273.jpg

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

    sort -t: -k3 -n /etc/group | head -10


1472370423521713.jpg

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

    cat /etc/fstab /etc/issue 1> /tmp/etc.test


1472370463864148.jpg

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    groupadd命令:添加组
        groupadd [OPTION] GROUP
        -g GID:手动指定GID;默认是上一个组的GID+1

    groupmod命令:修改组属性
        groupmod [OPTION] GROUP
        -g GID:修改GID
        -n newname:修改组名

    groupdel命令:删除组
        groupdel GROUP

    useradd命令:创建用户
        useradd [OPTION] LOGIN
        -u,–uid:指定UID
        -g,–gid:指定基本组ID,此组得事先存在
        -c,–comment:致命注释信息
        -G,–groups GROUP1[,GROUP2,…[,GROUPN]]:指明用户所属的附加组,多个组之间用逗号分隔
        -d,–home:创建以指定路径为用户家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
        -M,–no-create-home:不创建家目录
        -s,–shelll:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
        -r,–system:创建系统用户
        PS:创建用户时的诸多默认设定配置文件为/etc/login.defs
        useradd -D:显示创建用户的默认配置
        useradd -D 选项:修改默认选项的值
        修改的结果保存于/etc/default/useradd文件中

    usermod命令:修改用户属性
        usermod [OPTION] LOGIN
        -u,–uid:修改用户的ID为此处指定的新ID
        -g,–gid:修改用户所属的基本组
        -G,–groups GROUP1[,GROUP2,…[,GROUPN]]:修改用户所属的附加组;原来的附加组会被覆盖
        -a,–append:与-G一同使用,用于为用户追加新的附加组
        -c,–comment:修改注释信息
        -d,–home:修改用户的家目录,用户原有的文件不会被转移至新位置
        -m,–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
        -l,–login:修改用户名
        -s,–shell:修改用户的默认shell
        -L,–lock:锁定用户密码,即在用户原来的密码字符串之前添加一个"!"
        -U,–unlock:解锁用户的密码

    userdel命令:删除用户
        userdel [OPTION] LOGIN
        -r:删除用户时一并删除其家目录

    passwd命令:
        passwd  [-k]  [-l]  [-u  [-f]]  [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
        (1)passwd:修改用户自己的密码
        (2)passwd USERNAME:修改指定用户密码,仅限root有权限
        -l -u:锁定和解锁用户
        -d:清除用户密码串
        -e DATE:过期期限,日期
        -i DAYS:非活动期限
        -n DAYS:密码最短使用期限
        -x DAYS:密码最长使用期限
        -w DAYS:警告期限
        –stdin:echo "PASSWORD"|passwd –stdin USERNAME

    gpasswd命令:
        gpasswd [OPTION] group
        -a USERNAME:向组中添加用户
        -d USERNAME:从组中移除用户
                        
(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;
        passwd mageia
        mageedu

        mageedu

(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

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

        passwd -n 3 -x 180 -w 3 slackware

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

        useradd -u 3003 -g clouds -G peguin,nova

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

        useradd -r -s /sbin/nologin mysql

(12)、使用echo命令,非交互式为openstack添加密码。
        echo "PASSWORD"|passwd –stdin openstack

原创文章,作者:N22-上海-葡挞,如若转载,请注明出处:http://www.178linux.com/41291

(0)
N22-上海-葡挞N22-上海-葡挞
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相关推荐

  • Linux开学一周的学习心得

    Linux,这个名字第一次听到是通过张超老师给我讲解,因为我在学校学的是金融数学,平时对这方面没有太多接触。当时对Linux就知道是个系统,随后在网上搜了搜,了解也不太多。 直到今天已经来马哥教育一星期了,刚入学的这一星期上课,都是一些基本的命令,感觉学着还蛮有意思,教学的安排也非常合理,我们大家学一天还能自己动手操作一天,既能专心听课,又能把学到的知识巩固…

    2017-07-15
  • N25期—第五周作业

    1、 显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1):" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面…

    Linux干货 2017-01-02
  • N21天天第十五周课程练习

    1、总结sed和awk的详细用法; sed Sed本质上是一个编辑器,但是它是非交互式的;同时它又是面向字符流的,输入的字符流经过sed的处理后输出。 Sed本身是一个管道命令,可以分析standard input的,主要是用来分析关键字的使用、统计等,此外还可以将数据进行替换、删除、   选取特定行等功能 格式:sed&nbs…

    Linux干货 2016-12-05
  • 文本处理工具

    1.cat 主要三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename << EOF ….>EOF (只能创建新文件,不能编辑已有文件);cat向已经存在的文件追加内容:cat >> file <<EOF…>EOF 3.将几…

    2017-07-29
  • 文本处理工具初探

    作为一个系统管理员,文本处理功能是经常使用的,熟练地使用各种文本工具有助于提高工作效率,从繁忙的工作中早点解脱。下面就来介绍处理文本的常用命令。 处理文本的命令大致分为:        查看文件内容:cat、less、more       …

    Linux干货 2016-08-07
  • iptables练习

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD…

    2015-03-15

评论列表(1条)

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

    希望同学在下次操作时,将输出结果一并附上,关键部分即可,不用全部,请加油