目录
用户和组
UID:用户id
GID:组id
超级用户 root (UID=0,GID=0)
系统用户(伪用户):不可登录的,是一些系统服务的马甲
UID:
Centos7:1-999
centos6:1-499
普通用户:
UID:
Centos7:1000-60000
Centos6:500-60000
/etc/passwd:系统中所有用户的个人信息
root:x:0:0:root:/root:/bin/bash
h:x:1000:1000:h:/home/h:/bin/bash
①用户名
②密码位(已弃用)
③UID
④GID
⑤说明位/备注位
⑥家目录
⑦执行环境/shell/命令解释器
/sbin/nologin:没有执行环境
注意:在我们修改账户名的时候,不能够直接对passwd文件进行修改。直接强制修改的话是可以修改成功,但他属于非法修改,会导致系统出问题的。
查看shell环境
echo $0
//查看Linux中的默认shell
cat /etc/shells
//查看该系统支持多少个shell环境
/etc/shadow
root:$6$WXQUHj1::0:99999:7:::
daemon:*:18353:0:99999:7:::
①用户名
②密码 $6$:SHA512 $1$:MD5
!! 和*:没有密码位
③最后一次修改密码时间,以天为单位,1970.01.01为开始
④最小修改密码时间间隔(密码最短使用期限)
⑤密码最长使用时间
⑥密码到期提醒时间
⑦密码过期后宽限时间
⑧密码失效时间
⑨待开发
注意:一个用户可以正常登录需要有:家目录,命令解释器,用户名和密码。当第二位为空的时候表示没有密码(可以把 !! 和*进行删除,就是添加密码模块)。确保有登陆条件之后,我们就可以使用此账户进行登陆。但是每一个系统用户都代表着一个服务,强行使用系统账户进行登陆,可以会导致某一项服务崩溃。
chage 参数 用户名
-d:最后一次修改密码时间
-m:最小修改密码时间间隔
-M:密码最长使用时间
-W:密码到期提醒时间
-I(大写的i):密码过期后宽限时间
-E:密码失效时间
/etc/group
root:x:0:
h:x:1000:h //装系统的时候创建的用户比较特殊,自动加入了用户组。我们后面创建的时候就不会自动加入
①组名
②密码位(弃用)
③GID
④组成员(a组对于b用户是附属组,b用户便会出现在a组成员列表后面)
创建用户时,如果不指定用户信息,默认UID顺延,创建同名组,同GID,同名家目录,指定系统的默认shell环境……
useradd 参数 用户名
id 用户名 //可以直接查看uid,gid以及所属的组(第一个写的是初始组,后面是附属组)
-u:手工指定UID
-d:指定家目录
-c:说明位
-M:不创建家目录
-s:指定shell
-g:指定初始组
-G:指定附属组
指定家目录
初始组,附属组
Linux系统,用户要加入组,如果说没有指定组,会创建同名组(初始组)
一个用户必须属于一个或者多个组
一个用户肯定会有一个初始组,可以有0或者多个附属组
初始组只能转移不能删除
userdel 参数 用户名
-r:同时删除家目录
比如说f77用的是f1的家目录 我们不加-r直接删除f1的话,是可以删除掉f1这个用户,但是他的家目录还在。如果我们先是把f1用户删除掉之后,再把其他使用f1家目录的用户都删除掉之后,虽然没用户使用这个目录,但是f1还是再/home里面的
passwd 参数 用户名
-l:锁定用户密码
-S:查看用户状态
-u:解锁用户密码
修改密码(root用户不用管提示)
锁定账户
解锁账户
usermod 参数 用户名
-u:修改用户UID
-g:改初始组(就是GID)
-G:改附属组
-c:改说明
-L:锁定用户
-U:解锁用户
修改UID,GID,附属组
锁定和解锁账户
增加、删除用户组
groupadd 组名
groupdel 组名
管理附属组成员
gpasswd 组名 -a 用户 //用户添加到附属组
gpasswd 组名 -d 用户 //用户移除附属组
修改主机名
路径: /etc/hostname
查看主机名:1)hostname 2)hostnamectl
①hostname 用户名 //临时修改,重启后就会恢复之前的主机名
②直接用vim对hostname文件进行编辑,并且要更新配置才能生效