三、(2)用户及组管理类命令简述

简述who、last、groupadd、useradd、usermod、userdel、passwd命令的使用方法

who命令

who – show who is logged on(显示已经登陆的用户)

  • 常见用法:
  1. -b
    —boot:time of last system boot(显示系统此次启动的日期和时间):

    [root@localhost ~]# who -b
          system boot  2018-04-03 03:46
    
  2. -r
    —runlevel:print current runlevel(显示当前的运行模式):

    [root@localhost ~]# who -r
          run-level 5  2018-04-03 03:47
    
  • 使用实例:列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可
    [root@localhost ~]# who
    root     pts/0        2018-04-03 03:47 (172.16.100.19)
    root     pts/1        2018-04-03 03:55 (172.16.100.19)
    gentoo   pts/2        2018-04-03 04:19 (172.16.100.19)
    root     pts/4        2018-04-03 04:28 (172.16.100.19)
    [root@localhost ~]# who | cut -d ' ' -f 1
    root
    root
    gentoo
    root
    [root@localhost ~]# who | cut -d ' ' -f 1 | sort -u
    gentoo
    root
    

last命令

last, lastb – show listing of last logged in users(显示最近登录的用户列表)

  • 常见用法:
    -[num]:This is a count telling last how many lines to show(显示指定数量的行)
  • 使用实例:取出最后登录到当前系统的用户的相关信息
    [gentoo@localhost ~]$ last -1
    gentoo   pts/2        172.16.100.19    Tue Apr  3 04:42   still logged in   
    wtmp begins Sat Dec  9 18:03:47 2017
    [gentoo@localhost ~]$ last -1 | head -1
    gentoo   pts/2        172.16.100.19    Tue Apr  3 04:42   still logged in   
    [gentoo@localhost ~]$ last -1 | head -1 | cut -d ' ' -f 1
    gentoo
    [gentoo@localhost ~]$ last -1 | head -1 | cut -d ' ' -f 1 | id
    uid=1000(gentoo) gid=1000(gentoo) groups=1000(gentoo) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    

groupadd命令

groupadd – create a new group(创建一个新组)

  • 常见用法:
  • groupadd [options] group
    -g [GID]:指定GID(默认是上一个组的GID+1)
    -r:创建系统组
  • 使用实例:创建组distro,其GID为2016
    [root@localhost ~]# groupadd -g 2016 distro
    [root@localhost ~]# cat /etc/group | grep distro
    distro:x:2016:
    

useradd命令

useradd – create a new user or update default new user information(创建一个新用户或更新默认新用户信息)

  • 常见用法:
  • useradd [options] LOGIN
    -u [UID]:指定UID
    -g:指定基本组(此组需存在)
    -G:指明用户所属的附加组(多个组之间用逗号分隔)
    -c:指明注释信息
    -d:以指定的路径为用户的家目录(通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件)
    -r:创建系统用户
  • 使用实例:
  1. 创建用户mandriva,其ID号为1005;基本组为distro
    [root@localhost ~]# useradd -u 1005 -g distro mandriva
    [root@localhost ~]# cat /etc/passwd | grep mandriva
    mandriva:x:1005:2016::/home/mandriva:/bin/bash
    
  2. 创建用户mageia,其ID号为1100,家目录为/home/linux
    [root@localhost ~]# useradd -u 1100 -d /home/linux mageia
    [root@localhost ~]# cat /etc/passwd | grep mageia
    mageia:x:1100:1100::/home/linux:/bin/bash
    
  3. 创建用户slackware,其ID号为2002,基本组为distro,附加组为peguin
    [root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)
    

usermod命令

usermod – modify a user account(修改用户账户信息)

  • 常见用法:
  • usermod [options] LOGIN
    -u:修改用户的ID为此处指定的新UID
    -g:修改用户所属的基本组
    -G:修改用户所属的附加组(多个组之间用逗号分隔;原来的附加组会被覆盖)
    -a:与-G一同使用,用于为用户追加新的附加组
    -c:修改注释信息
    -d:修改用户的家目录(用户原有的文件不会被转移至新位置)
    -m:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
    -l:修改用户名
    -s:修改用户的默认shell
    -L:锁定用户密码(即在用户原来的密码字符串之前添加一个”!”)
    -U:解锁用户的密码
  • 使用实例:
  1. 修改slackware的默认shell为/bin/tcsh
    [root@localhost ~]# cat /etc/passwd | grep slackware
    slackware:x:2002:2016::/home/slackware:/bin/bash
    [root@localhost ~]# usermod -s /bin/tcsh slackware
    [root@localhost ~]# cat /etc/passwd | grep slackware
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
    
  2. 为用户slackware新增附加组admins
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)
    [root@localhost ~]# usermod -a -G admins slackware
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)
    

userdel命令

userdel – delete a user account and related files(删除用户账户和相关文件)

  • 常见用法:
  • userdel [options] LOGIN
    -r:删除用户时一并删除其家目录
  • 使用实例:删除mandriva,但保留其家目录
    [root@localhost ~]# cat /etc/passwd | grep mandriva
    mandriva:x:1005:2016::/home/mandriva:/bin/bash
    [root@localhost ~]# userdel mandriva
    [root@localhost ~]# ls -d /home/mandriva
    /home/mandriva
    

passwd命令:

passwd – update user’s authentication tokens(修改密码)

  • 常见用法:
  • passwd:修改用户自己的密码
  • passwd USERNAME:修改指定用户的密码(仅root用户有此权限)
    -l:锁定用户
    -u:解锁用户
    -d:清除用户密码串
    -e [DATE]:设置密码过期日期
    -i [DAYS]:设置非活动期限
    -n [DAYS:密码的最短使用期限
    -x [DAYS]:密码的最长使用期限
    -w [DAYS]:警告期限
    —stdin:echo “PASSWORD” | passwd —stdin USERNAME
  • 使用实例:给用户mageia添加密码,密码为mageedu
    [root@localhost ~]# echo "mageedu"|passwd --stdin mageia
    Changing password for user mageia.
    passwd: all authentication tokens updated successfully.

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

(0)
ZSZS
上一篇 2018-04-23 21:12
下一篇 2018-04-23 22:59

相关推荐

  • Linux计算MD5和Sha1的命令

    Linux计算MD5和Sha1的命令

    Linux笔记 2018-06-07
  • linux魔鬼训练营初体验

    听话照做

    2018-04-01
  • linux练习题以及用户和组管理

    Linux练习题 列出当前系统上的所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 取出最后登录到当前系统的用户的相关信息 取出当前系统上被用户当作默认shell的最多的那个shell 将/etc/passwd/中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers中。 取出当前主机的IP地址,提示:对i…

    2018-05-26
  • 标准I/O和管道

    input:输入读入数据 output:输出数据文件的 打开的文件都有一个fd: file descriptor (文件描述符) ll /proc/$$/fd #查看fd exec 8<>/data/hosts #指定fd I/O重定向:该变默认位置 > #把标准输出重定向到文件(一个”>”是覆盖,”>>”是追加) 2&g…

    2018-04-02
  • sudo相关配置详解及aide高级入侵检测环境

    sudo su – xiao -c ‘echo $USER’ 切换xiao用户执行指令显示用户名xiao 通用的配置文件:/etc/sudoers 实际运用的配置文件:/etc/sudoers.d/ 里面文件权限应设为440;根据需要可以一个用户设置一个配置文件便于管理 visudo 默认打开的是/etc/sudoers文…

    Linux笔记 2018-06-03
  • hell脚本基础知识详细介绍

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件…

    Linux笔记 2018-05-14