三、(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认证

      因为在培训机构工作过,身边很多人咨询我Linux认证的事宜。现在国内各种培训机构的确很多,各家都说Linux认证多么多么重要,能获得多少薪水……这些听听就好了。 如果想在开源行业有所作为,必须要投入到实战中去。当你不是发烧友,不是开源社区骨干、不经常泡国外的坛子,那么实战是你唯一的成长路径。尤其是对基于Linux的开发、运维、纠错,都有上手经验…

    2018-06-01
  • 第八周博客作业

    一、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理。
    二、描述awk命令用法及示例
    三、描述awk函数示例

    2018-05-10
  • 小白加薪升职记之长征第一步

    用户管理基础命令

    Linux笔记 2018-05-24
  • linux ACL访问控制列表

    1.ACL介绍 Linux 下用户对文件的操作权限有 r-读, w-写, x-可执行三种,而对linux 下的文件而言,用户身份分为:所有者, 所属组, 其它人, 且文件的所有者,所属组都只能是一个,所以在对文件分配用户的使用权限时,只能对这三种身份进行分配rwx 权限.Linux 主要作为服务器系统使用,用户众多.所以在实际使用场景中,这三种身份并不能很好…

    Linux笔记 2018-04-08
  • 手把手系列(四)教你用kickstart自动化安装CentOS系统

    KickStart是一种半自动化的安装方式。安装者完全可以只告诉安装程序从何处获取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

    2018-05-24