linux-用户和组的基本管理

用户和组

 练习题:

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

                     who | cut -d ‘ ‘ -f 1 | uniq -c

                       1

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

                    who | tail -1 |cut -d ‘ ‘ -f 1 |id

                     2

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

                    cat /etc/passwd |cut -d ‘:’ -f 7 |uniq -c |sort -n| tail -1

                    3

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

Cat /etc/passwd |sort -t ’:’ -k3 -r |tr [a-z] [A-Z]> /tmp/maxusers.txt

4

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

                       ifconfig | grep ‘inet’ |head -1 | cut -d ‘ ‘ -f 3-13

                         5

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

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

                     cat /tmp/etc.conf

                        6

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

                      ls /var/ |wc -l

                     7

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

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

                    8

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

                   cat /etc/tstab >> /etc/issue > /tmp/etc.test

                    9

  • Linux用户和组管理

  •    groupadd:添加组

                       group [option] group-name

                         -g GID :指定GID,默认是上一个组的GID+1

                        -r:创建系统组

  •  Groupmod:修改属性

                     Groupmod [option] GROUP

                       -g GID :修改GID

                       -n group-name:修改组名

  •  Groupdel:删除组

                     Group [ option] GROUP

  • Useradd:创建用户

                  Useradd [option]  登录名

                      -u:指定UID

                      -g:指定GID

                      -c:指明注释信息

                     -G:指明用户所属的附件组,多个组之间用逗号隔开

                     -d:以指定的路径为用户的家目录,通过复制/etc/skel此目 目录并重命名,指定的家目录如果实现存在,则不会复制环境配置文件

                    -s:指定用户的shell,可用的所有shell列表存储在/etc/shells中

                    -r:创建系统用户

                          useradd  -D :显示创建用户的默认配置

                          useradd -D 选项:修改默认的选项的值

  •   usermod:修改用户属性

               usermod [option] 登录

                    -u:修改用户的ID

                   -g:修改用户所属的基本组

                   -G:GROUP[,group2,group3],修改用户的附加组,原来的附加组会被覆盖

                   -a:与-G一起使用,同为用户追加新的附加组

                  -c:修改注释信息

                  -d:修改用户的家目录,用户原有的文件不会转移到新的位置

                 -m:只能与-d一同使用,用来将原来的家目录转移到新的家目录中

                 -I:修改用户名

          -s:修改默认的shell

               -L:锁定用户密码,即在用户密码字符添加“!”

                -U:解锁用户密码

  •  userdel:删除用户

              userdel [option] 登录

                 -r:删除用户时一并删除家目录

  •  passwd:修改用户自己的密码

              passwd USERNAME:修改指定用户密码,仅限root有权限

                  -l,-u:锁定和解锁用户

                     -d:清楚用户密码串

  •  gpasswd:更改组密码,其中组密码文件在:/etc/gshadow

               gpasswd [option] group

                -a username:向组中添加用户

                -d username:向组中移除用户

  • newgrp:临时切换定组为基本组

              newgrp [-] [group]

                 -:会模拟用户重新登录以实现重新初始化其工作环境

  • chage:更改用户密码过期信息

              chage [选项] 登录名

  • id:显示用户真是有效的ID

            id [option] …[user]

             -u:仅显示有效的UID

             -g:仅显示用户基本组的组ID

            -G:仅显示用户所属的所有组的ID

            -n:显示名称而非iD,可跟上面几个选项一起使用

  • su:切换用户

           登录式切换:会通过读取目标目录用户的配置文件来重初始化

          非登录式切换:不会读取目标用户的配置文件进行初始化

           登录式切换:su – username

                                   su -l username

          非登录式切换:su username

练习题:

  • 、创建组distro,其GID为2016;

        gorupadd -g 2016 distro

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

        useradd  -u 1005  -g distro mandriva

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

        useradd -u 1100 -d  /home/linux mageia

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

        passwd mageedu mageia

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

       userdel mandriva

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

      useradd -u 2002 -g distro -G peguin

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

    usermod -s /bin/tcsh slackware

  • 、为用户slackware新增附加组admins;

      usermod -aG admins

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92732

(0)
当文强遇到程程当文强遇到程程
上一篇 2018-03-19 21:50
下一篇 2018-03-20 12:07

相关推荐

  • grep命令

    ]# chmod -R 700 /home/tuser1 ]# ll /home/tuser1/ total 0 drwx——. 2 root root 72 Nov 20 17:33 skel 新增用户与组: 显示/proc/meminfo: 显示shell 非 /sbin/nologin 的用户 找出/etc/passwd文件中一…

    Linux干货 2016-11-20
  • Linux磁盘管理(一)之分区、格式化、挂载使用

    磁盘管理(一)   本章节内容: 磁盘结构 分区类型   管理分区   管理文件系统   挂载设备   一、磁盘结构: 1、设备号码:  主设备号:major number, 标识设备类型 次设备号:minor number, 标识同一类型下的不同设备  &n…

    Linux干货 2016-08-26
  • Linux基础入门命令

    在经过一个星期的入门学习后,对于LINUX的认识也从陌生到了基本了解。总结了一下一周所学习的基本命令。 一、想要查看你当前所在的终端?看下面几条命令: 查看当前登陆的终端名:tty 、whoami ;   查看当前登陆的终端名的详细信息:who am i ; 查看当前所有登陆的终端的详细信息: w ; 二、SHELL 的相关用法 &nbs…

    2017-07-14
  • Google 开源技术protobuf

    1.  Protobuf简介        protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行…

    系统运维 2015-04-04
  • 26期全程班-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp # vim /tmp/rc.sysinit :%s@^\([[:space:]]\+\)@#\1@g 2…

    Linux干货 2017-03-07
  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13