用户信息监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home' ###每1秒监控passwd文件和group文件的后三行;并查看home的属性
用户管理所涉及的文件:
/etc/passwd ##一个表格
##用户信息文件
##用户名称:密码:uid:gid:说明:家目录:默认shell
##默认shell的指定有哪些可以查看系统文件:/etc/shells /etc/group ##用户组信息文件
##组的名字:组密码:组id:组成员
/etc/shadow ##认证信息文件
##用户名称:密码(sha512):密码最后一次被更改的时间:密码最短有效期:最长有效期:警告期:密码非活跃天数:帐号到期日:用户自定义未启用
/etc/skel/.* ##默认开启shell的配置,用户的骨文件
/home/username ##用户的家目录
【补充:默认shell指定】:
/bin/sh | /usr/bin/sh |
---|---|
/bin/bash | /usr/bin/bash |
/sbin/nologin | /usr/sbin/nologin |
/bin/tcsh | /bin/csh |
用户管理所涉及的命令:
watch -n x file(“命令“) ##监控file/监控命令 ,每X秒监控一下(省去不断输入指令的步骤)
watch -n 1 "tail -n 3 /etc/passwd /etc/group ; ls -l /home" ##实时(间隔每一秒)查看“命令”【查看passwd后三行,查看group后三行; 显示/home的所有文件属性】
【增加&删除】
groupadd ###添加用户组
groupdel ###删除用户组
groupadd -g 888 westos ###建立用户组并指定用户组的组id
useradd ###建立用户 会同时增加一个初始组
userdel username ###删除用户,只会删除用户名字,其创建的组还在
【-r】删除所有信息**
userdel -r westos ###删除用户 同时会删除用户的家目录文件
###【若不加-r:警告:warning:the home directory already exists】###
useradd -u 8888 westos ###指定用户uid
useradd -g 21 westos ###指定用户初始组id 【21用户组必须存在】【若没有westos用户,则会创建该用户】
useradd -G 21 westos ###指定用户的附加组id 【21用户组必须存在】【若没有westos用户,则会创建该用户】
useradd -c hello westos ###指定用户的说明【hello】
useradd -d /home/lee westos ###指定用户家目录
useradd -s /bin/sh westos ###指定用户的默认shell
######在最初的时候通过只有增加删除来进行更改用户信息。
##【更改】##
usermod -d /home/lee westos ###更改用户家目录的指向【实际用户家目录名字不变】【这是给重新指定了目录】 当删除用户时,会发现家目录还是指向在原目录
usermod -md /home/lee westos ###更改用户家目录【实际用户家目录的名字改变】【这是实际上的把目录名字更改】【正确更改方式】
usermod -l xxx westos ###更改用户的名称为xxx
usermod -u xxx westos ###更改用户的uid为xxx
usermod -g xxx westos ###更改用户的初始组为xxx 【更改的初始组需要存在】
usermod -G xxx westos ###更改用户的附加组为xxx 【连续更改的结果为更换附加组,而不是增加】
usermod -aG xxx westos ###添加一个用户附加组xxx
usermod -G " " westos ###删除用户的附加组【更改为空,即删除】
usermod -c xxx westos ###指定用户的说明文字为xxx
usermod -s /bin/sh westos ###更改用户的shell【若更改为系统中不存在的shell类型,则可以更改,但无法使用】
usermod -L westoss ###冻结用户【使密码为!】
usermod -U westos ###解锁用户
westos 为现在的用户【即要更改的用户】
########用户建立时,会读取/etc/login.defs ####文件内容确定用户建立规则【可以查看用户组/初始组/附加组的定义范围】
密码位置:
/etc/shadow
`westos:!!:17895:0:99999:7:1::` ###【1】:【2】:【3】:【4】:【5】:【6】:【7】:【8】:【9】
【1】用户名称
【2】用户密码: ###用户的加密字符串,默认用的加密方式为sha512对称加密,如果字符串前出现“!“,那么用户被冻结。
【3】用户密码最后一次被更改时间: ###此时间计算是从1970-1-1开始计算的累计天数
【4】用户密码最短有效期: ###如果此位设定数字,那么在此数字范围内的天数内是不能更改用户密码的
【5】用户密码最长有效期: ###用户必须在此有效期内更改密码,如果超时会被冻结
【6】密码警告期限: ###密码过期前X天有警告输出
【7】用户非活跃天数: ###密码过期后仍可登陆的天数
【8】用户到期日: ###用户会在这一天被冻结
【9】用户自定义列: ###目前没有启用
可以“tail -n 3 /etc/shadow
”查看系统中用户的密码设定
【更改密码】:
普通用户更改时,
##只输入passwd,不输入名字;
例:passwd
##密码不能和帐号相似,不能是纯数字或纯字母
##不能是有序的组合; 例:123456
普通用户只能更改自己的密码
超级用户更改时,
##输入passwd+名字 ; 例:passwd westos
##对称加密:加密和解密使用同一串字符
watch -n 1 “tail -n 3 /etc/shadow ; echo ====== ; passwd -S westos” ###监控指令,用于查看并管理密码###【echo 文本 :换行输出文本】
###passwd -S或–status命令可以查看某一个用户密码的状态
##用户密码最后一次个更改时间##
`passwd -e westos` ##改变用户最后一次更改密码的时间:改为0
##用户在登陆时会被强制更改密码
##用户在登陆时会被强制更改密码
chage -d 0 westos ##设置最后一次更改密码的时间
##用户密码最短有效期##
passwd -n 1 westos ##westos在1天内不能修改密码
chage -m 1 westos
##用户密码最长有效期##
passwd -x 30 westos ##westos在30天内必须更改密码
chage -M 30 westos
##密码警告期限##
passwd -w 2 westos ##密码过期前两天警告输出
passwd -W 2 westos
##用户非活跃天数##
passwd -i 1 westos ##密码过期后仍可以使用的天数
chage -I 1 westos
##用户到期日##
chage -E 2018-11-11 westos ##用户在2018-11-11日会被冻结
大大的小小阳