- A+
用户分为root用户(超级管理员)和普通用户
用户管理
创建用户,查询用户,修改用户,删除用户。
把用户放在组里面便于管理。
用户/组基本概念
用户的作用概念:控制所有文件,程序的关键信息。
-
查看当前登录的用户信息
-
查看文件的owner(创造者)
-
查看运行进程的usename
用户/组信息存储的文件
-
用户基本信息文件/etc/passwd
/etc/passwd冒号分割为7列字段;(学习7列字段含义)
root :x:0 :0 :root :/root :/bin/bash(shell)
用户名 :x:uid:gid:注释 : 宿主目录 :命令环境
root :用户名(字母组成,不能重名),登录系统的名字;
X :密码占位符,具体内容不在这里,在/etc/shadow文件里;
UID :用户的身份证号;、
系统约定:RHEL7 uid:0特权用户 uid:1~499系统用户
初始状态下系统默认的用户有999个 uid:1000+普通用户
GID : group组号(具有相同特征用户的集合)——基本组
注释 :描述
宿主目录:登录系统时所在的目录;
命令环境:登录shell的命令解释器;
/bin/bash:用户可以使用shell登录用户 /sbin/nologin用户不能登录系统,可以运行某程序。把不安全用户设为nologin。
SHELL 壳()——控制计算机 功能 命令解释器 定义命令 接受命令 执行命令 版本:ashell,bshell,cshell,tshell;
bash;
-
用户密码信息文件/etc/shadow
/etc/shadow冒号分割为8列字段;
密码(对称密码和非对称密码)
加密的意义:
- 私密性
- 完整性
- 不可否认性
加密算法:$id$salt$encrypted $1:MD5 $5:SHA-256 $6:SHA-512
登录名:密码加密值:最后一次修改时间:最小时间间隔(天数):最大时间间隔(天数):不活动时间:失效时间:
- 登录名;与/etc/passwd文件中的登录名相一致的用户账号
- 密码加密值;*号代表账号锁定;
- 最后一次修改时间;
- 最小时间间隔(天数),密码有效期(为多少天数);0代表当天改密码;
- 最大时间间隔(天数),密码有效期(为多少天数);99999代表无效期;
- 警告时间(时间间隔期一般时提醒);
- 不活动时间;表示用户没有登录系统但是账号还能保持有效期的最大天数(超过天数禁用你);可空;
- 失效时间;表示到了多少天账号就不能用了;可空;
- 保留;
-
组信息文件/etc/group
/etc/group冒号分隔为4列;
组名:组密码:组ID:组成员
组名:通常字母组成
组密码:
组ID:纯数字
组成员:默认为空
用户/组管理
用户管理
创建用户(不指定参数):
useradd+创建用户名:创建用户命令;
id+用户名:查询用户命令;
passwd+用户名:修改用户密码;
[root@localhost ~]# useradd 0098 #创建用户0098 [root@localhost ~]# id 0098 uid=1104(0098) gid=1104(0098) 组=1104(0098) #查询用户0098是否存在 [root@localhost ~]# passwd 0098 #修改0098用户的密码 更改用户 0098 的密码 。 新的 密码:000000
怎么样在root目录下进入普通用户目录: [root@localhost ~]# ls /home #查询home下的普通用户 001 0098 [root@localhost ~]# ls /home/001 #查询普通用户001的目录 公共 模板 视频 图片 文档 下载 音乐 桌面
创建用户(指定参数)
useradd 创建用户名 -u 指定UID号 :指定参数-u(UID);
useradd 创建用户名 -d 指定目的路径 :指定用户的家目录;
-u指定用户的uid;
[root@localhost ~]# tail -1 /etc/passwd 0098:x:1104:1104::/home/0098:/bin/bash [root@localhost ~]# useradd 0099 -u 1111 #-u(uid),创建用户0099,指定uid为1111 [root@localhost ~]# tail -2 /etc/passwd 0098:x:1104:1104::/home/0098:/bin/bash 0099:x:1111:1111::/home/0099:/bin/bash [root@localhost ~]# useradd 9999 -d /9999 #-d(directory),创建用户9999,指定用户的家目录 useradd --heip #命令 --help #就可以查看所有命令参数
删除用户:
userdel -r 用户名:删除用户;
-r一并删除用户目录
[root@localhost 001]# useradd 0098 [root@localhost 001]# userdel -r 0098 [root@localhost 001]# id 0098 id: 0098: no such user
修改密码:
passwd 用户名;
[root@localhost 001]# whoami #在哪个宿主目录下 root #在root用户密码下 [root@localhost 001]# passwd 001 更改用户 001 的密码 。 新的 密码:
组成员管理:
操作:
修改用户属性:
usermod
-u指定用户的uid;
-g制定用户的基本组;
-G制定用户的附加组;
usermod 用户名 -g 基本组名
/etc/passwd可以查看的是用户的基本组;
/etc/group可以查看用户的附加组。id命令也可以看。
[root@localhost 001]# usermod -s /sbin/nologin 001 [root@localhost 001]# usermod -s /bin/bash 001 SHELL命令语法结构 usermod -s /bin/bash 001 命令 选项 什么shell 用户参数 #/bin/bash:用户可以使用shell登录用户 #/sbin/nologin用户不能登录系统,可以运行某程序。把不安全用户设为nologin。
[root@localhost 001]# useradd user01 [root@localhost 001]# ls /home 001 user01 [root@localhost 001]# grep user01 /etc/group user01:x:1104: [root@localhost 001]# grep user02 /etc/passwd [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1104::/home/user01:/bin/bash [root@localhost 001]# useradd user02 [root@localhost 001]# grep user02 /etc/group user02:x:1105: [root@localhost 001]# grep user02 /etc/passwd user02:x:1105:1105::/home/user02:/bin/bash [root@localhost 001]# groupadd 0098 [root@localhost 001]# grep 0098 /etc/group 0098:x:1106: [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1104::/home/user01:/bin/bash [root@localhost 001]# usermod user01 -g user02#user01.user02都在1105组,1105还是user01,user02的基本组 [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1105::/home/user01:/bin/bash
用户组管理:
(把不同的权限赋予不同的组,把用户放进组里。用户可以直接使用组权限。比如会员:充值进vip组,拥有会员组权限;到期进非会员组,无会员组权限。用户可以同时进不同的组,拥有不同组的全部权限。)
创建组
groupadd+创建组名:创建组命令;
(用户和组不能用纯数字,uid和gid是纯数字。)
基本组和附加组
查询组
grep ‘组名’ /etc/group:查询组命令;
[root@localhost 001]# groupadd hr #创建组hr [root@localhost 001]# tail -1 /etc/group #查找/etc/group里的最后一行 hr:x:1104:
[root@localhost 001]# grep hr /etc/group #在/etc/group查找组名hr chrony:x:989: hr:x:1104: [root@localhost 001]# grep hr /etc/passwd #在/etc/passwd里查询组hr(没有)#/etc/passwd里是用户user文件 [root@localhost 001]# grep hr /etc/shadow #在/etc/shadow里查询组hr(没有)#/etc/shadow里是用户user文件 # /etc/group里是组group文件
删除组
groupdel 组名:删除组
[root@localhost 001]# groupdel hr #删除组hr [root@localhost 001]# grep hr /etc/group #在/etc/group中查询组hr是否存在;(不存在) chrony:x:989:
分类:
组的类型
一个用户可属于多个组。
基本组:随用户而创建的组,组名同用户名。/etc/group;
usermod 用户名 -g 组名(把用户的基本组改为组名;)
附加组:用户加入的其它组;
usermod 用户名 -G 组名(把用户放进组名,组名就成为了用户的附加组)
(当成员1被创建,就会出现一个组名为1的组被创建,这个组名为1的小组就叫基本组。
当成员2被创建,就会出现一个组名为2的组被创建,这个组名为1的小组就叫基本组。
然后成员1加入组2,这个组2就叫做成员1的附加组。)
(如果组hr被创建,它既不是基本组,也不是附加组。因为基本组和附件组是相对于用户来说的。)
(每一个成员的基本组只能有一个,而附加组会有多个。)
一个用户只能有一个组,一个组可以为多个用户的基本组。
成员1和组1是什么关系?
组1对于成员1是基本组;(-g)
组2对于成员1是附加组;(-G)
组1对于成员2:一点关系没有;