目录介绍
/etc/passwd
存放的是该linux服务器上面的所有用户
用户 | 是否有密码 | UID | GID(组ID) | 用户说明 | 所在目录 | shell(命令解释器所在目录) |
---|---|---|---|---|---|---|
sofency | x(有密码) | 500 | 500 | 略 | /home/sofency | /bin/bash(如果更改的话用户无法再登录) |
500和501是用户的唯一标识 (uid)
UID是0的话是超级用户,因此要想让普通用户变为超级用户需要在/etc/passwd下面修改普通用户的UID为0 但家目录不会更改 只是权限变为超级用户
1-499系统用户(伪用户)
500-65535是普通用户
/etc/shadow
存放的是该linux服务器上所有用户的密码 ,存放的是密文。
用户 | 加密后的密码 | 密码最后一次修改时间 | 两次密码的修改时间间隔 | 密码有效时间 | 密码到期前的警告天数 | 密码到期后的宽限时间 | 账号失效时间 |
---|---|---|---|---|---|---|---|
root | */!! | 18281 | 0(表示没有修改) | 99999(天) | 7(该值一般在前面的值改变的情况下生效) | 默认值没写代表当密码到99999天的时候没有修改密码就封掉该用户 | 时间戳表示 |
加密密码 升级为SHA512散列加密算法,如果密码位是!!
或者*
代表没有密码,不能登录。
第三字段: 密码的最后一次修改时间。 即root最后一次修改密码的时间是1970年1月1日之后的18281天。
将时间戳换算成当前的时间
date -d "1970-01-01 18281 days"
将当前的时间转换为时间戳
echo $(($(date --date="2020/01/22" +%s)/86400+1))
用户的邮箱目录 /var/spool/mail/用户名/
vi /var/spool/mail/sofency
模板文件 /etc/skel/
模板文件的使用 主要用来服务器添加用户时 文件会自动同步到创建的用户家目录下
初始组和附加组
初始组,就是指用户一登录就立即拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的名字作为这个用户的初始组名
附加组
用户可以加入其它的用户组,并拥有这些组的权限,
附加组可以有多个
添加默认用户 useradd
添加用户默认会在以上的配置文件中产生记录
添加用户的常用参数介绍
添加用户时的默认值配置文件所在目录 /etc/default/useradd
登录时的默认值存放目录 /etc/login.defs
修改密码命令passwd
超级管理员可以给所有用户修改密码
passwd 直接回车 是给自己修改密码
passwd 用户 是给用户修改密码
锁定用户
passwd -l sofency
双!!表示被锁定
解锁用户
passwd -u sofency
查看密码状态
passwd -S sofency
明文设置密码
echo "123" | passwd --stdin sofency
接收123 作为sofency的密码
用户属性修改命令 usermod
usermod -c "test user" sofency
将用户添加到某个组里面 查看/etc/group
usermod -G root sofency
将sofency添加到root组里面 即 sofency就拥有了root组的权限
修改用户密码状态
chage -d 0 sofency
表示sofency用户一登录就要修改密码
删除用户userdel
userdel -r sofency
一般要加上-r
选项 因为这样可以删除用户的家目录
切换用户 su
su - sofency
注意一定要加上-
不然该用户里面的操作环境还是root
以前不知道现在长见识了
env
查看操作环境
借用root用户执行一次命令
su - root -c "useradd user3"
添加用户组groupadd
groupadd [-g] 组名
修改用户组groupmod
groupmod -n user1 demo1
将use1的组名修改为demo1 但是弊端就是很多东西都需要进行修改名字 一般删除组重新创建
或者修改组ID
groupmod -g user1 demo1
删除用户组groupdel
如果该用户组是附加组的话那么删除 groupdel 组名
如果该用户组是初始组的话 那么首先要删除组里面的用户,再删除初始组
将用户添加入组或从组中删除
gpasswd 选型 组名
-a 用户 把用户加入组
-d 用户 把用户从组中删除
adduser 和useradd的区别:
useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。