一. 概述 

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

  1. 删除用户userdel

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

  2. 新增用户useradd

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

  

   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文件中可以看到已添加的备注信息,如下图所示:
        

    3.2 passwd工具

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

 
    3.3 其它工具

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

参数

描述

-d

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

-E

设置密码过期的日期

-I

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

-m

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

-w

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

        下面为test用户设置-E和-W参数,如下图所示:
        
        通过chage -l test  可以更加清楚易懂对test用户的设置:
        

Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)的更多相关文章

  1. Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)

    一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账 ...

  2. Linux编程 16 文件权限(组管理 groupadd, groupmod,文件权限介绍)

    一.用户组 前面章节知道用户账户在控制单个用户安全性方面很好,但涉及到共享资源或把用户类型分组时,组概念就出来了. 组权限允许多个用户对系统中的对象(比如文件,目录,设备等)共享一组共用的权限. 在c ...

  3. Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

    一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读 ...

  4. CentOS 用户管理useradd、usermod等

    1.创建新用户useradd,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组. 主要参数: -d 指定用户的家 ...

  5. Centos-用户管理-useradd userdel usermod groupadd groupdel id

    linux是多用户.多任务操作系统 linux角色分类 超级用户 root # 管理员.特定服务主进程 0 普通用户    $  普通管理员.服务运行需要的用户 500~65535 虚拟用户 不能登录 ...

  6. linux-15基础命令之-用户与用户组(useradd,userdel,usermod,passwd,groupadd)

    1.useradd 命令用于创建新的用户,格式为:useradd[选项] 用户名 useradd参数 参数 作用 -d 指定用户的家目录(默认/home/username) -D 展示默认值 -e 帐 ...

  7. 【目录】linux 编程

    随笔分类 - linux 编程 Linux编程 24 shell编程(结构化 if [ condition ] 数值比较,字符串比较) 摘要: 一.概述 接着上篇讲的结构化命令,最后讲到了test命令 ...

  8. 【Linux命令】用户身份(useradd,groupadd,usermod,passwd,userdel)

    目录 用户身份 useradd userdel usermod groupadd groupdel passwd chage 用户身份 在linux系统中和windows一样有用户之分.root用户为 ...

  9. Linux运维六:用户管理及用户权限设置

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

随机推荐

  1. Itreatot接口实现类中modCount的作用

    modCount只有在本数据结构对应迭代器中才使用,以HashMap为例: private abstract class HashIterator implements Iterator { Entr ...

  2. RequestMethod.Post&RequestMethod.GET

    1.GET和POST都是将数据送到服务器 2.GET通过URL请求传递用户的数据,将表单各字段名称以及内容,以成对的字符串连接,置于action所指程序的URL后:POST方法通过HTTP post ...

  3. java程序员随笔

    之前坚持过一段时间的博客,不过后来因为一些琐事,也因为自己的懒惰,没坚持下来.一晃本科毕业到现在已经快9年了,本科毕业的时候经常想,自己十年之后会是什么样子,那时候筹措满志,心里的每一个答案,都离现在 ...

  4. 图像之王ImageMagick

    这是我目前能想到的名字.很久前某图像群看到有人推荐过,试了一下确实厉害,支持的格式之多让人叹服. http://www.imagemagick.org/script/formats.php 一般用法 ...

  5. Jquery动态添加/删除表格行和列

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. java面试一、1.3线程与进程

    免责声明:     本文内容多来自网络文章,转载为个人收藏,分享知识,如有侵权,请联系博主进行删除. 1.3.进程和线程 线程和进程的概念.并行和并发的概念 线程和进程: 线程:是程序执行流的最小单元 ...

  7. 转 Tomcat+redis+nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  8. js:函数与变量作用域的提升

    一.要彻底理解JS的作用域和Hoisting,只要记住以下三点即可:      1.所有申明都会被提升到作用域的最顶上      2.同一个变量申明只进行一次,并且因此其他申明都会被忽略      3 ...

  9. Maven package 报错解决记录以及编译scala的pom.xml

    可以打包的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

  10. 河北大学python选修课00次作业

    学习python认为挺好玩的一件事.看到很多关于python的东西在网上,看到有这个课,认为只是选修课,别人也可以选,自己想不能被别人落下,别人都会,我不会可不行. 而且认为python是一个很强大的 ...