欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-08-31 22:15:54
一. 概述 在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍。这篇接着讲useradd+参数,删除用户,修改用户的演示。 1. 删除用户userdel 使用userdel可以删除用户,但只会删除etc/passwd文件中的用户信息,而不会删除系统中属于 ......

一. 概述 

  在上一篇中讲到了与用户账户有关的二个文件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)