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用户的文件信息如下:

再使用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)的更多相关文章
- Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)
一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账 ...
- Linux编程 16 文件权限(组管理 groupadd, groupmod,文件权限介绍)
一.用户组 前面章节知道用户账户在控制单个用户安全性方面很好,但涉及到共享资源或把用户类型分组时,组概念就出来了. 组权限允许多个用户对系统中的对象(比如文件,目录,设备等)共享一组共用的权限. 在c ...
- Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读 ...
- CentOS 用户管理useradd、usermod等
1.创建新用户useradd,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组. 主要参数: -d 指定用户的家 ...
- Centos-用户管理-useradd userdel usermod groupadd groupdel id
linux是多用户.多任务操作系统 linux角色分类 超级用户 root # 管理员.特定服务主进程 0 普通用户 $ 普通管理员.服务运行需要的用户 500~65535 虚拟用户 不能登录 ...
- linux-15基础命令之-用户与用户组(useradd,userdel,usermod,passwd,groupadd)
1.useradd 命令用于创建新的用户,格式为:useradd[选项] 用户名 useradd参数 参数 作用 -d 指定用户的家目录(默认/home/username) -D 展示默认值 -e 帐 ...
- 【目录】linux 编程
随笔分类 - linux 编程 Linux编程 24 shell编程(结构化 if [ condition ] 数值比较,字符串比较) 摘要: 一.概述 接着上篇讲的结构化命令,最后讲到了test命令 ...
- 【Linux命令】用户身份(useradd,groupadd,usermod,passwd,userdel)
目录 用户身份 useradd userdel usermod groupadd groupdel passwd chage 用户身份 在linux系统中和windows一样有用户之分.root用户为 ...
- Linux运维六:用户管理及用户权限设置
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
随机推荐
- RQNOJ PID51 / 乒乓球 ☆
因为是多行输入,所以用了getchar()进行输入,题目没有说明数据范围,所以开始的时候因为数组开的不够大,WA90了一次,我之前开了10000的长度,之后开100000的长度跑过了 一个基本的模拟, ...
- zookeeper名字服务
10.12.67.31 #!/bin/shmkdir -p /data/zk-install/cd /data/zk-install/wget -q -O ons_agent-1.0.5.tar.gz ...
- mybatis 中使用oracle merger into
项目背景:设计到excel导入,数据量也比较大,保证性能的情况下还要考虑到:如果数据中有这条数据的主键,则更新(update),不存在的情况,执行插入(insert). mybatis代码: < ...
- 用chrome模拟微信浏览器访问页面
有的网页通过限制 user agent 来达到禁止在微信浏览器以外的地方访问,我们通过chrome修改user agent即可破解. CHROME浏览器,进入开发者模式 切换到手机浏览模板 打开 N ...
- mongodb聚合操作
1. mongodb的聚合是什么 聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组.过滤等功能,然后经过一系列的处理 ...
- 【repost】js window对象属性和方法相关资料整理
window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval mov ...
- tornadoの2
tornado之日记本—— 1.diary.py: import time from model.database import DataBase from tornado import we ...
- 急速安装lnmp 编译版本
急速安装lnmp 编译版本 安装msyql+PHP 系统centos6.5 安装 开发软件包 已经改成了163的源需要执行下面的代码 官网不自带 libmcrypt libmcrypt-devel w ...
- Python之路【第五篇】函数
4.1 函数的定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 4.2 函数的创建 函数名的命名规则: 1.函数名必须以下划线或字母开头,可以包含任 ...
- 【每日一点】1. Java如何实现导出Excel单表头或多表头
一.背景 在后台项目中,经常会遇到将呈现的内容导出到Excel的需求,通过都是导出单个表头的Excel文件,如果存在级联关系的情况下,也就需要导出多表头的场景.今天这篇文章就是分享导出Excel单表头 ...