Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

一. 概述 

  在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍。这篇接着讲useradd+参数,删除用户,修改用户的演示。

  1. 删除用户userdel

    使用userdel可以删除用户,但只会删除etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。如果加上-r 参数,userdel会删除用户HOME目录以及邮件目录。使用-r参数时要检查用户HOME目录下是否存放了其他用户和其他程序使用的重要文件。
    先查看下test用户的文件信息如下:
      Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
    再使用userdel -r命令来删除, 没有了该用户和home目录。如下图所示:
      Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
  

  2. 新增用户useradd

    上篇讲了useradd+m参数创建home目录的演示,下面新增test用户,并使用-d参数指定home文件启动文件目录为home/test1。,/etc/passwd文件中test用户也有了。如下图所示:
      Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
    在上篇中讲到useradd命令默认情况是不会创建HOME目录,但这里没有使用-m 参数也创建了HOME目录,下面试试使用useradd不加任何参数,创建test2用户,还是会创建home目录,如下图所示。
      Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

  

   3. 修改用户

    对于修改用户,linux提供了一些不同的工具来修改已有用户账户的信息。列表如下:

工具名

描述

usermod

修改用户账户的字段,还可以指定主要组以及附加组的所属关系

passwd

修改已有用户的密码

chpasswd

从文件中读取登录名密码对,并更新密码

chage

修改密码过期日期

chfn

修改用户账户的备注信息

chsh

修改用户账户的默认登录shell

    3.1  usermod工具
      usermod 命令是用户账户修改工具中最强大的一个,它用来修改etc/passwd文件中的大部份字段。下面是该工具常用参数的说明:

-l

修改用户账户的登录名

-L

锁定账户,使用户无法登录

-p

修改账户的密码

-U

解除锁定。使用户能够登录

-e

修改过期日期

-c

修改备注字段

      例如:使用usermod给已有test用户修改备注信息“remark”,在passwd文件中可以看到已添加的备注信息,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

    3.2 passwd工具

      要改变用户密码最简便方法就是用passwd命令,下面给test用户设置强密码: a12D!@#$。 太过简单的密码会提示"过于简单化",密码不足8位会提示:密码不匹配,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
      修改密码成功后,再查看shadow文件,test用户密码已加密,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
      要注意的是使用passwd命令,只能修改自己的密码,只有root用户才有权限修改所有用户密码。设置了密码后,使用Xshell  远程工具就能连接上了,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
      test用户目录提示符,默认在 /home/test1目录下, 使用cd 退回二级到了虚拟目录根目录下,如下所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)    

 
    3.3 其它工具

      (1) chpasswd :如果要大量用户修改密码,该工具命令可以事半功倍。
      (2) chsh : 该命令用来快速修改默认的用户登录shell。例如 chsh -s /bin/csh test 。
      (3) chfn:该命令会向你询问要将哪些适合的内容加入备注字段,下面给test用户加内容备注,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
      (4) chage: 该命令用来管理用户账户的有效期,你需要对每个值设置多个参数,列表如下:

参数

描述

-d

设置上次修改密码到现在的天数

-E

设置密码过期的日期

-I

设置密码过期到锁定账户的天数

-m

设置修改密码之间最小要多少天

-w

设置密码过期前多久开始出现提醒信息

        下面为test用户设置-E和-W参数,如下图所示:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
        通过chage -l test  可以更加清楚易懂对test用户的设置:
        Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

上一篇:powershell 设置环境变量 -- go 单元测试 exit status 3221225781


下一篇:Java的IO操作中关闭流的注意点