27、用户管理

用户配置文件

用户信息文件

用户信息文件在 /etc/passwd 打开后分发现里面的里面的文件如下所示


root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

...

其所代表的含义是 account:password:UID:GID:GECOS:directory:shell | 用户名:密码标识(x表示有密码,如果手工删掉,可以无密码登录,但是远程终端系统禁止无密码登录!):用户id(0为超级管理员,1-500是伪用户,500以上是普通用户,用户id可以手动改成0,就是设置成超级管理员):用户默认组id(用户组分为默认组和附加组,虽然前面介绍的可以改默认组,但是不建议修改,如要分组管理用户,可以给用户添加附加组):用户说明:用户家目录:用户的命令解释器!

影子文件

影子文件在 /etc/shadow 打开后分发现里面的里面的文件如下所示,是passwd的密码文件,访问权限是000,


root:$6$NlxfClgGKzXdkXyN$X1PqHUA9xW8OtrviS7f8sygwt1KdA4VA/rCH3p9WFYTTwAxWzoqDDt4

t9kuEc19Xpn/9UZVQiePkFEN1YOqLv0:16707:0:99999:7:::

bin:*:15980:0:99999:7:::

daemon:*:15980:0:99999:7:::

...

shadow文件解释

  1. 第一位是用户名

  2. 密码换算后的暗文,密码算法是SHA512散列加密算法。如果密码为是!!或者*表示没有密码不能登陆。给密码前面加上! 意思就是暂时禁用该用户,因为他无论输入什么换算都是错误的。

  3. linux时间戳,表示1970年后的第几天

  4. 两次密码修改的时间间隔,单位是天,如果是5 表示,修改后要隔几天才能修改

  5. 用户密码的生效时间

  6. 警告修改密码的时间,单位是天,表示提前多少天提醒你修改密码

  7. 密码到期后的宽限时间 0代表密码过期后立即失效,-1代表密码永久不会失效

  8. 账号修改时间,还是要用天数时间戳表示

  9. 保留字段

时间戳转换


date -d "1970-01-01 16710 days"
echo $(($(date --date="2014/01/06" +%s)/86400+1))

组信息文件和组密码文件
组信息文件 /etc/group

第一字段 组名

第二字段 组密码标志

第三字段 GID

第四字段 用户组中的附加用户,可添加多个,使用”,“分隔

组密码文件 /etc/gshadow

从组中选出一个用户当做组长,可以在组内实行部分root的权限。不推荐使用,所以不多说!

第一字段 组名

第二字段 组密码

第三字段 组管理员用户名

第四字段 组中附加用户

用户管理相关文件

用户的家目录
  • 普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700

  • 超级用户:/root/ 所有者和所属组都是root用户,权限是550

  • 普通用户改成超级用户不会改变家目录

用户的邮箱

linux中的邮箱在/var/spool/mail/用户名/

用户模版目录

每个用户创建的时候,家目录中默认存在的文件都从模版目录中复制一份,这个目录是 /etc/skel/

用户管理命令

useradd
#添加用户
useradd [options] [username]
#设置密码
passwd [username]

useradd dab1117执行之后在系统里所做的操作

  • 在passwd文件里添加一条dab1117的信息 grep dab1117 /etc/passwd

  • 在shadow文件里添加一条dab1117的信息 grep dab1117 /etc/shadow

  • 在group文件里添加一条dab1117的默认组 grep dab1117 /etc/group

  • 在gshadow文件里添加一条dab1117信息 grep dab1117 /etc/gshadow

  • 在home下添加一个dab1117的家目录

  • 在邮件目录里也添加了相应的邮箱文件

useradd的选项

选项作用
-u [UID]手工指定用户的id号
-d [家目录手工指定用户的家目录
-c [用户说明]手工指定用户说明
-g [组名]手工指定用户的初始组
-G [组名]手工指定用户的附加组,组分隔符是’,‘
-s shell手工指定用户的登陆shell。默认是 /bin/bash

useradd添加用户的时候,所载入的默认信息都在用户默认值文件里保存。这个文件的路径是 /etc/default/useradd/etc/login.defs

passwd

passwd的选项

选项作用
-S]查询密码状态,仅root用户可用
-l [username暂时锁定用户
-u [username]解锁用户
–stdin [username]可以通过管道符输出的数据作为用户的密码

echo "123" | passwd --stdin [username]这个命令就是给username设置密码为123

usermode和chage

usermod [option] [username]

选项作用
-u [UID]手工指定用户的id号
-d [家目录手工指定用户的家目录
-c [用户说明]手工指定用户说明
-g [组名]手工指定用户的初始组
-G [组名]手工指定用户的附加组,组分隔符是’,‘
-s shell手工指定用户的登陆shell。默认是 /bin/bash
-L暂时锁定用户
—U解锁用户

chage [option] [username] 修改用户的密码状态 对应shadow文件

选项作用
-l]列出用户的详细密码状态
-d 日期修改密码最后一次更改日期 shadow文件里的第三个字段
-c 天数两次密码修改的间隔 4字段
-M 天数密码有效期 第五个字段
-W 天数密码过期前警告天数 6字段
-I 天数密码过期后宽限天数 7字段
-E 日期账号失效时间 8字段
userdel和su

userdel 删除用户

userdel [-r] [username]

作用是删除用户,如果加上-r选项,表示连同家目录一起删掉。

id [username]的作用是查看用户的信息。

su [options] [username]

env的作用是查看环境变量。su命令的-不能省略。

选项作用
  • ]
选项只适用” - “代表连带用户的环境变量一起切换
-c 命令仅执行一次命令,而不切换身份

useradd和usermod以及userdel文件其实都只是对上述的几个关于用户的文件的操作而已,手工操作也可以达到命令一样的目的,但是没有必要。

用户组管理命令

groupadd [options] 组名 添加一个组

选项作用
  • g GID
指定组id
-c 命令仅执行一次命令,而不切换身份

groupmod [options] 组名 修改一个组

选项作用
-g GID修改组id
-n 新组名修改组名

groupdel [options] 组名 删除一个组

如果组当中有初始组用户,不能删除。但是如果是附加组可以删除

gpasswd [options] 组名

选项作用
-a 用户名把用户加入组
-d 用户名把用户从组中删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值