linux etc login.def,Linux-用户管理命令
用户的分类(CentOS7)
用户UID
系统含义
0
超级用户(拥有系统的最高权限)
1-200
系统用户,由系统分配给系统进程使用
201-999
系统用户,运行服务,不需要登录系统的
1000+
普通用户
注意:在CentOS7之前,创建用户,都是1-499 是系统用户,500+是普通用户,第一个创建的用户,不指定uid,一定是500。
用户信息相关文件
创建一个用户,一般会影响四个文件:
1./etc/passwd # 存放用户信息
2./etc/shadow # 存放用户密码信息
3./etc/group # 存放用户组信息
4./etc/gshadow # 存放用户组密码信息
/etc/passwd 文件
[root@localhost ~]# cat /etc/passwd
wqh: x:777:1001:此列为注释信息: /home/wqh:/bin/bash
/etc/shadow 文件
[root@localhost ~]# cat /etc/shadow
root:$6$iM1LuZaUuwyZrIg.$2X2Upu4KHmQoD1hzKHCzsmJqxPri9PlVDm5MYw/XdQsYgRpJaLIy1xWw0aDXLPePZNAcNRmfrYJrJgb6dmbu/.::0:99999:7:::
列数
名称
详情
1
用户登陆名
用户的账号名称
2
加密后的密码
用户密码,这是加密过的口令,未设密码时为 * 或 !! , * 是1-200的系统进程, !! 是201-999的服务进程
3
最近一次密码更改时间
从1970年到最近一次更改密码时间之间过了多少天
4
密码最少使用几天
密码最少使用几天才可以更改密码(0表示无限制)
5
密码最长使用几天
密码使用多少天需要修改密码(默认99999永不过期)
6
密码到期前警告期限
密码过期前多少天提醒用户更改密码(默认过期提前7天警告)
7
密码到期后保持活动的天数
在此期限内, 用户依然可以登陆系统并更改密码, 指定天数过后, 账户被锁定
8
账户到期时间
从1970年起,账户在这个日期前可使用,到期后失效。
9
标志
保留备用
用户创建过程中的配置文件
我们执行二进制文件 useradd 的时候,会调用哪些配置文件?
/etc/login.defs 文件
[root@wqh06 tmp]# ll /sbin/useradd
-rwxr-x---. 1 root root 118232 Oct 31 2018 /sbin/useradd
[root@localhost ~]# cat /etc/login.defs
[root@localhost ~]# grep -i '^[a-z]' /etc/login.defs
# 指定创建用户后的邮件文件存放位置
MAIL_DIR/var/spool/mail
# 密码,最长天数
PASS_MAX_DAYS99999
# 密码最小天数
PASS_MIN_DAYS0
# 密码最小长度
PASS_MIN_LEN5
# 密码过期前7天 ,提示,密码要过期了,给老子改
PASS_WARN_AGE7
# 普通用户的uid 最小值1000
UID_MIN 1000
# 普通用户的最大uid 60000
UID_MAX 60000
# -r创建的系统用户,201 - 999
SYS_UID_MIN 201
SYS_UID_MAX 999
# 普通用户组的最小gid
GID_MIN 1000
# 普通用户组的最大gid
GID_MAX 60000
# -r创建的系统用户组,201 - 999
SYS_GID_MIN 201
SYS_GID_MAX 999
# 默认创建家目录
CREATE_HOMEyes
# 家目录umask
UMASK 077
0777 0777
- 0022 0077
------- ------
0755 0700
# 在删除用户的时候,是否捆绑,把用户组也删除
USERGROUPS_ENAB yes
# 用户密码加密算法
ENCRYPT_METHOD SHA512
/etc/default/useradd 文件
[root@localhost ~]# ll /etc/default/useradd
-rw-r--r-- 1 root root 119 11月 5 2016 /etc/default/useradd
[root@localhost ~]# cat /etc/default/useradd
# 依赖于/etc/login.defs的USERGRUUPS_ENAB参数,如果为no,则在此处控制
GROUP=100
# 默认普通用户的家目录
HOME=/home
# 是否启用账号过期停权,-1表示不启用
INACTIVE=-1
# 账号终止日期(没有设置)
EXPIRE=
# 创建用户的默认shell
SHELL=/bin/bash
# 当用户,误删除了自己家目录下的环境变量。
SKEL=/etc/skel
-bash-4.2$ cp /etc/skel/.bash* ~/
# 创建用户的同时,是否创建邮件文件
CREATE_MAIL_SPOOL=yes
用户管理命令
增加用户
useradd
adduser # useradd 的软链接
Usage:useradd [选项] [用户名]
默认情况下,在创建用户的时候,会创建一个和用户同名的组,并且把该用户加入该组
[root@localhost ~]# useradd wqh
-u:(uid)指定uid
-g:(gid)指定gid,也可以指定组名,需要存在这个组名
-G:(Group)指定附加组,如果加入多个附加组则用,逗号隔开
[root@wqh06 ~]# useradd wqh -g root -G bin,dba,sa
-d:(directory)指定用户的家目录
[root@wqh06 ~]# useradd kkkk -d /tmp/kkkk
-s:(shell)指定登录的shell,可登录用户:/bin/bash,不可登录用户:/sbin/nologin
-c:(comment)添加注释
-M:不创建家目录
-r:帮我们创建一个uid范围是201-999的系统用户(默认可以登录),不创建家目录
删除用户
userdel
Usage:userdel [选项] [用户名]
# 注意: 默认情况下,在删除用户的同时会把同名的用户组也删除,但是如果组内有其他用户,则不会删除组,只删除用户
-r:删除用户的同时,删除用户的家目录,和用户的其他 邮件目录... (删干净)
修改用户
usermod
Usage:usermod [选项] [用户名]
-u:修改uid
-g:修改gid
-G:修改附加组(一般配合-a使用) # 直接用会把从组修改没,添加一个新的组,一般都会加-a,会在后面继续添加从组
-d:指定修改后的家目录(需要加 -m 才可用)
-s:修改登录的shell
-c:修改注释
-l:修改登录的用户名,如:usermod wqh -l wqh01
-L:锁定用户(封号),LOCK
-U:解锁用户(解封),UNLICK
-a:配合-G,在修改附加组的时候,起到追加效果(append)
-m:修改(迁移)家目录,必须配合 -d
查看用户
id # 查看当前登录用户
Usage:id [用户名]
-u:查看UID
-g:查看GID
-G:查看附加组
w # 查看当前登录终端的设备以及用户
who # 查看当前登录的用户,以及远程连接的IP地址
用户密码管理命令
passwd # 修改当前登录用户的密码
#使用交互式的方式设置密码
[root@localhost ~]# passwd wqh
# 使用非交互的方式设置密码给指定用户
[root@localhost ~]# echo '123' | passwd --stdin wqh
md5sum # 加密算法,并且做校验,相同的一串字符每次md5加密结果相同
[root@wqh06 ~]# echo 123 |md5sum
ba1f2511fc30423bdbb183fe33f3dd0f -
mkpasswd # 随机生成密码命令,需要安装expect包
[root@wqh06 ~]# yum install -y expect //需要安装扩展包
[root@wqh06 ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
|K&13bR)i/
批量创建用户并给予密码(面试题)
面试题:请你创建出来100个用户,并且设置100个随机密码,并且记录密码,每个用户都可以登录,密码记录的格式如username:password:
[root@wqh06 ~]# cat /tmp/1.txt
wqh001:123456
wqh002:kzsuhiuh1
awk方法:
# 利用mkpasswd生成密码,把格式固定,输入到文件中,再cut出 ":" 后的密码,交给passwd:
[root@wqh06 ~]# seq -w 100|awk '{print "useradd usr"$1,"&& echo usr"$1":`mkpasswd -l 10` |tee -a /root/wangqihan.pass|awk -F "[:]" "{print $2}"| passwd --stdin usr"$1 }' |bash
# 利用变量解决:
[root@wqh06 ~]# seq -w 100|awk '{print "useradd cls"$1,"&&","pass=`echo $RANDOM|md5sum|cut -c 1-10`","&&","echo $pass|passwd --stdin cls"$1,"&& echo cls"$1":$pass >> /tmp/2.pass"}'|bash
sed方法:
[root@wqh06 ~]# seq -w 100|sed -nr 's#(.*)#useradd wls1 && pass=`echo $RANDOM|md5sum|cut -c 1-10` && echo $pass |passwd --stdin wls1 && echo wls1:$pass >> /tmp/wls.pass#gp'|bash
for方法:
[root@wqh06 ~]# for n in `seq -w 100`;do useradd lls$n;pass=`echo $RANDOM|md5sum|cut -c 1-10`;echo $pass |passwd --stdin lls$n;echo lls${n}:$pass >> /tmp/lls.pass;done
写一个交互式的脚本文件:
#!/bin/bash
read -p "请输入需要创建的用户名 :" username
read -p "请输入需要创建用户的数量:" usercount
for n in `seq -w $usercount`;do
useradd $username$n
pass=`echo $RANDOM|md5sum|cut -c 1-10`
echo $pass |passwd --stdin $username$n
# 下一条语句中的${n},加{}的目的是与后面的`:`分隔开,这里也可以不加,只是作区分用,不等同与命令行的$()的调用功能
echo $username${n}:$pass >> /tmp/$username.pass
done
awk方法结果:
脚本:
上图中实际上就是将命令行中的for命令内容,堆起来,每一行用 && 连接,依然可行:
我们也可以搞一个交互式的脚本:
linux etc login.def,Linux-用户管理命令相关推荐
- linux账号5天锁定,Linux学习之六(Linux用户、权限、用户管理命令)2017-03-31
一.用户.组.权限 用户:UID,/etc/passwd 组:GID,/etc/group 二.影子口令: 用户:/etc/shadow 组:/etc/gshadow 三.用户类别: 管理员:0 普通 ...
- Linux 学习之路 (三):用户管理命令详解
用户管理命令详解 useradd [options] USERNAME -u UID(>=500,并且与其他用户无重复) -g GID(基本组,组必须事先存在) -G GID,- ( ...
- Linux 文件与目录管理+用户管理命令(详解+练习)
1. 创建目录 mkdir NO1. 在当前路径创建一级目录 [root@rehat root]# mkdir test NO2. 在当前路径创建多级目录 [root@rehat root]# mkd ...
- Linux查看所有用户及用户管理命令
1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...
- Linux 文件与目录管理+用户管理命令
Linux 文件与目录管理+用户管理命令(详解+练习) 标签: it分类: Linux A linux实用命令详解(新建删除复制文件夹,挂载) + B Linux 文件与目录管理+用户管理命令练习 A ...
- Linux用户管理命令
1.用户管理命令 Linux是一个多用户的系统 (1)系统存储用户信息的位置 /etc/passwd:存储用户的基本信息 UID GID UID:用户 GID:用户所属的组 (2)/etc/group ...
- linux中的cal 查看日历、用户管理命令、useradd 添加新用户
1.3.5 cal 查看日历 cal [选项] (功能描述:不加选项,显示本月日历) 选项 功能 具体某一年 显示这一年的日历 查看当前月的日历 查看2016年的日历 1.4 用户管理命令 1.4.1 ...
- Linux基础 权限与用户管理命令
2019独角兽企业重金招聘Python工程师标准>>> 文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r ...
- linux用户与权限命令.,Linux基础 权限与用户管理命令
文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r权限:cat等命令读 w权限:编辑|删除 x权限:执行 目录 r权限:ls ...
最新文章
- 如何搭建高可用Redis服务
- windows下scrapy安装问题,以及Twisted安装报错(error: Microsoft Visual C++ 14.0 is required.)完美解决办法...
- 高考计算机会考基础知识点,2017高考一定会考的46个知识点!
- 计算机组成原理综合题,2013计算机组成原理复习题.doc
- AI电子宠物Vector,会跑会动会聊天,一天内火遍美国科技圈
- flink其他可选api
- java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值
- Android源码分析之Builder模式
- Atitit 软件程序的定义 软件广义定义 程序代码,文档 ,数据 方法,规则, 狭义定义 软件=程序+数据+文档 软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指
- 供应链三道防线(读书笔记)3(共4)
- java 公历 农历_Java 阴历阳历转换
- 清爽的VS开发字体 -- Consolas
- 怎么免费获取帆软9.0激活码,帆软8.0激活码,如何激活
- POJ1061青蛙的约会(拓展欧几里得)
- VMware vSphere理论
- 关键词搜图、截图小助手——有了它妈妈再也不用担心我数据集啦
- 图片如何添加水印文字?如何设置照片水印?
- cisco anyconnect 下载(windows、macos、iOS、Android、linux)
- Effective C++条款09:绝不在构造和析构过程中调用virtual函数
- android 7.0分享到qq,腾讯 QQ 安卓版 v7.7.0正式版发布!
热门文章
- 新版gsp计算机系统全套资料,新版gsp全套记录表格120个-20210627023415.pdf-原创力文档...
- john lim php,成都环球中心天堂洲际大饭店总经理Mr.John Lim:E-Con系统开启智慧服务新时代!...
- ARP9-Licensee
- 项目经理如何进行项目汇报才能让项目顺利进行,让领导一看就喜欢?
- 编程练习——求最小公倍数
- 计算机辅助曹瞒走华容(华容道)算法
- 记面试中问到的MySQL的SQL调优问题
- 【调剂】云南民族大学2023年硕士研究生招生调剂公告
- 推荐系统——召回模型
- 二手书交易系统用例图2.0