linux用户管理(useradd、userdel、usermod、groupadd、groupdel、chage、passwd、chpasswd)
一、用户账户配置文件介绍
/etc/passwd 用户账户信息文件
/etc/shadow 用户账户密码文件
/etc/group 用户组信息文件
/etc/gshadow 用户组密码所在文件(基本废弃)
/etc/default/useradd 新增账户的默认属性配置
/etc/login.defs 新增用户的属性信息
总结:
useradd 命令会修改/etc/passwd 、/etc/shadow、/etc/group 、/etc/gshadow (同时创建用户与用户组)
passwd 命令会修改/etc/shadow
groupadd命令会修改/etc/group 、/etc/gshadow
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
添加用户时,会修改上述4个文件---------文件md5值会发生变化
[root@mm ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow
2fe9f002726ed0a138d67cd44722f1a6 /etc/passwd
c2ca41415dca17f1a3dc3c286a9b9bff /etc/shadow
c475144a13d87a400b5e16fe6bd70baf /etc/group
659ef4f533df0fa7e457f87755fb1c27 /etc/gshadow
[root@mm ~]# useradd bingbing
[root@mm ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow
39d60eff90ecd0326fe59e6464b464ad /etc/passwd
0aa8d3b157f042876ec0190a2808a377 /etc/shadow
cee8bc6e85f9dfb9dc0a04e452e834f4 /etc/group
cdfd26351f409ee32fca53a22ad15912 /etc/gshadow
[root@mm ~]# grep bingbing /etc/passwd /etc/shadow /etc/group /etc/gshadow
/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash
/etc/shadow:bingbing:!!:17980:0:99999:7:::
/etc/group:bingbing:x:1006:
/etc/gshadow:bingbing:!:
/etc/passwd文件 用户账户信息文件
root: x: 0: 0: root: /root: /bin/bash
用户名 密码 uid gid 用户描述 用户家目录 用户登录的shell
CentOS7默认shell为bash,bash是sh的扩展,sh是bash的软连接
[root@mm ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c
6 /bin/bash
1 /bin/sync
1 /sbin/halt
18 /sbin/nologin
1 /sbin/shutdown
[root@mm ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/etc/shadow 用户账户密码文件
nobody 用户名
:* 密码 (!!为未设置密码,设置密码后为长长字符串)
:17834 最近更改密码的时间,自1970年1月1日起的天数
:0 禁止修改密码的时间,即两次修改密码的最少间隔时间
:99999 用户必须修改密码的天数,99999天约270年,自1970年1月1日起
:7 提示修改密码的时间,即密码到期前7天提示修改密码
: 密码过期到禁用账户的间隔天数
: 用户被禁用的天数,自1970年1月1日起
: 标志,保留字段
/etc/group 用户组信息文件
mail :x :12 :mail,postfix
用户组名 用户组密码 gid 用户组成员
/etc/default/useradd 新增账户的默认属性配置
[root@ 55test ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 #如果useradd没有指定组,并且/etc/login.defs中的USERGROUPS_ENAB为no或者useradd使用了-N选项时,此时该参数生效。创建用户时使用此组ID
HOME=/home #在此目录下创建用户家目录
INACTIVE=-1 #用户过期后账户停权,默认-1表示不启用过期停权
EXPIRE= #账户过期日期,默认为空,表示账户永不过期
SHELL=/bin/bash #新增用户默认shell
SKEL=/etc/skel #默认文件(.bash_logout .bash_profile .bashrc)拷贝路径
CREATE_MAIL_SPOOL=yes #创建邮件文件
此文件修改方法:
1、useradd -D -s /bin/sh #修改默认shell
2、vim /etc/default/useradd
/etc/skel 提供用户环境变量配置文件,由此目录向新增用户家目录添加环境变量配置文件
/etc/login.defs 新增用户的属性信息
[root@ 55test ~]# cat /etc/login.defs |grep -v "#"
MAIL_DIR /var/spool/mail #邮件目录
PASS_MAX_DAYS 99999 #密码修改间隔最大天数
PASS_MIN_DAYS 0 #密码修改间隔最小天数
PASS_MIN_LEN 5 #密码最小长度
PASS_WARN_AGE 7 #密码过期前开始提示天数
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes #默认是否为用户创建家目录
UMASK 077 #默认umask
USERGROUPS_ENAB yes #默认为用户创建用户组
ENCRYPT_METHOD SHA512 #默认用户密码加密方式
二、用户账户配置操作
useradd 添加用户
-s 用户登录shell
-M 不创建家目录
-u 指定uid
-g 指定用户的属组
-c 添加说明
-d 指定家目录
-e 用户登录截止日期。
[root@ 55test ~]# useradd -u 1555 -M -s /bin/sh -e ' 20190730' -c "what" ppl
[root@ 55test ~]# tail -1 /etc/passwd
ppl:x:1555:1555:what:/home/ppl:/bin/sh
[root@ 55test ~]# chage ppl -l
Last password change : Jul 25, 2019
Password expires : never
Password inactive : never
Account expires : May 05, 57250
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
chage 查看账户密码过期属性
-l 显示属性信息
-E 密码过期时间
-I 密码过期后账户禁用间隔天数
-m 密码修改间隔最小天数
-M 密码修改间隔最大天数
-W 密码过期前开始提示的天数
[root@ 55test ~]# chage -l lili
Last password change : Sep 21, 2019 #最近一次修改密码时间
Password expires : Nov 20, 2019 #密码过期时间,过期后强制修改密码,-E参数修改
Password inactive : Dec 20, 2019 #密码停权时间,即因密码过期而停用账户的时间,-I参数修改,默认-1表示不停权
Account expires : never #账户过期时间
Minimum number of days between password change : 7 #密码修改间隔最小天数,-m参数
Maximum number of days between password change : 60 #密码修改间隔最大天数。-M参数
Number of days of warning before password expires : 7 #密码过期前开始提示的天数,-W参数
userdel 删除用户
工作中常先用#注释账户来停用账户,一段时间后再删除账户
-r 删除用户家目录及家目录中文件
usermod 修改用户账户属性
-s 用户登录shell
-u 指定uid
-g 指定用户的属组
-c 添加说明
-d 指定家目录
-e 用户登录截止日期。
[root@ 55test ~]# usermod -u 1556 -g kkk -s /bin/bash -e ' 20200730' -c "what the hell" ppl
[root@ 55test ~]#
[root@ 55test ~]# tail -1 /etc/passwd
ppl:x:1556:1004:what the hell:/home/ppl:/bin/bash
[root@ 55test ~]#
[root@ 55test ~]# chage -l ppl
Last password change : Jul 25, 2019
Password expires : never
Password inactive : never
Account expires : Sep 20, 57277
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@ 55test ~]#
[root@ 55test ~]# id ppl
uid=1556(ppl) gid=1004(kkk) groups=1004(kkk)
passwd 修改密码
--stdin 从标准输入接收密码
-e 强制用户下次登录时修改密码
-l 锁定账户
-u 解除锁定
-d 删除用户密码
-i 密码过期后禁用账户的天数
非交互方式修改密码:
方法一:
[root@localhost ~]# echo 12345 |passwd --stdin lili
Changing password for user lili.
passwd: all authentication tokens updated successfully.
方法二:(CentOS 6.X执行成功,CentOS 7.X中切换用户时报错)
[root@localhost ~]# echo 123 >pass
[root@localhost ~]# passwd --stdin kkk <pass
Changing password for user kkk.
passwd: all authentication tokens updated successfully
chpasswd 批量修改密码
方法一:
CentOS 6.X
[root@localhost ~]# cat user
lili:kll
kkk:kll
lll:kll
[root@localhost ~]# chpasswd<user
CentOS 6.X 与 CentOS 7.X
[root@localhost ~]# cat user
lili:kll
kkk:kll
lll:kll
[root@ 55test ~]# chpasswd
lili:kll #此处粘贴文本
kkk:kll
ppl:kll #输入结束后按ctrl+d
方法二:
[root@ 55test ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":ppp"}'|chpasswd
批量创建用户
echo boy{1..10}|xargs -n1|sed 's#.*#useradd &;echo &|passwd --stdin &#'|bash
echo boy{01..10}|xargs -n1|sed -rn 's#(.*)#useradd \1;echo 123456|passwd --stdin \1 #gp'|bash
批量删除用户
echo boy{1..10}|xargs -n1|sed 's#.*#userdel -r &#'|bash
linux用户管理(useradd、userdel、usermod、groupadd、groupdel、chage、passwd、chpasswd)的更多相关文章
- Centos-用户管理-useradd userdel usermod groupadd groupdel id
linux是多用户.多任务操作系统 linux角色分类 超级用户 root # 管理员.特定服务主进程 0 普通用户 $ 普通管理员.服务运行需要的用户 500~65535 虚拟用户 不能登录 ...
- Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)
一. 概述 在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍.这篇接着讲useradd+参数,删除用户,修改用户的演示. 1. 删除用户userdel ...
- 《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w
一:概念 在 Linux 中,使用一个 32位整数 来记录每一个用户(USER ID 简单 UID),这意味着在 Linux 中,可以有 40亿 个不同的用户. 系统. 在 /etc/passwd ...
- CentOS 用户管理useradd、usermod等
1.创建新用户useradd,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组. 主要参数: -d 指定用户的家 ...
- Linux 用户管理命令-userdel和su
userdel [选项] 用户名,可以删除用户,常用选项 -r :删除用户的同时删除用户的家目录,一般都要用,例如:userdel -r xbb 新建用户和删除用户的本质也就是修改了 /etc/sha ...
- Linux用户管理——useradd
除了useradd还有一个命令adduser,两者是链接关系 [root@51cto ~]# which adduser /usr/sbin/adduser [root@51cto ~]# which ...
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- Linux用户管理(笔记)
用户:UID, /etc/passwd组:GID, /etc/group 影子口令:用户:/etc/shadow组:/etc/gshadow 用户类别:管理员:0普通用户: 1-65535 系统 ...
- 11.Linux用户管理
本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd /etc/shadow) 2.组配置文件(/etc/group /etc/gshadow) 3.用户缺省配 ...
- Linux用户管理的复习时间
所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...
随机推荐
- pwd命令学习
pwd命令学习 1.学习pwd命令 pwd命令功能为输出当前所在工作目录的绝对路径名称. 绝对路径和相对路径: 绝对路径:从根目录开始直到文件位置 相对路径:相对于程序当前所在目录到文件位置 例:程序 ...
- Found duplicate classes/resources
很可能是多个三方依赖重复了,依赖个插件,这个插件能查找出依赖关系, duplicate-finder-maven-plugin 使用命令显示 mvn dependency:tree [INFO] \- ...
- HDU6534 Chika and Friendly Pairs(莫队,树状数组)
HDU6534 Chika and Friendly Pairs 莫队,树状数组的简单题 #include<bits/stdc++.h> using namespace std; cons ...
- gsensor架构和原理分析【转】
本文转载自:http://blog.csdn.net/u012296694/article/details/48055491 本文主要描述了在android2.3平台G-sensor相关软硬件的体系架 ...
- 中国MOOC_零基础学Java语言_第7周 函数_1分解质因数
第7周编程题 查看帮助 返回 第7周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 【Linux 应用编程】基础知识
错误提示 Linux 提供的系统调用API,通常会在失败的时候返回 -1.如果想获取更多更详细的报错信息,需要借助全局变量 errno 和 perror 函数: #include <stdio. ...
- 【MM系列】SAP 在SAP中更改基本计量单位
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 在SAP中更改基本计量单位 ...
- PHP 对Memcache的使用实例
<?php //连接Memcache$mem = new Memcache;$mem->connect("localhost", 11211) or die (&quo ...
- 一次性计划任务at与周期性计划任务crontab
一.at一次性计划任务使用 at语法格式: at 时间 at设置计划任务 1.下载at程序 [root@li ~]# yum install at -y 2.启动atd服务 [root@li ~]# ...
- 应用安全 - CMS - Discuz漏洞汇总
SSV-90861 Date:2012 类型:敏感信息泄露 影响范围:DZ x2.5 POC:http://www.xx.xx/uc_server/control/admin/db.php http ...