用户与用户组
一、用户的概述
以某种身份登录,那么用户的权限就会受到限制,用户的身份决定了用户能干什么。Linux中每个用户是通过 User Id (UID)来唯一标识的 新建用户 1-60000 自动分配 0-65535 端口号。
二、用户的类型
-
超级管理员:权限最高的用户;
-
普通用户:权限受到限制的用户;
-
程序用户:不是给人登录使用的,给程序使用的。
注意:
操作系统需要用一些文件,这些文件是否可以被打开,和程序用户登录有关。
三、用户组的概述
linux系统中的用户组(group)就是具有相同特性的用户(user)集合。将多个用户集合起来,统一分配某种相同的权限(开通或关闭)。
四、用户组的类型
一个用户必须有一个基本组,附加组可有可无,也可以有多个。
-
基本组(私有组):一定要有,有且只有一个;
-
附加组(公有组):可有可无,可以有多个。
五、UID和GID
UID:用户的身份证号
GID:用户组的身份证号
系统是靠uid来区分用户身份的;
用户的uid为0就是超级管理员,不是因为它叫root。
六、以uid识别用户身份
系统用户 | centos 6 | centos 7 |
---|---|---|
uid范围 | 0-60000 | 0-60000 |
超级管理员 | 0 | 0 |
普通用户 | 500-60000 | 1000-60000 |
程序用户 | 1-499 | 1-999 |
用户管理
一、用户信息文件:/etc/passwd
作用:保存文件名称,宿主目录登录shell基本信息
用户信息:root:x:0:0:root:/root:/bin/bash
-
root:用户名
-
x:密码占位符
-
0:uid,0为超级管理员
-
0:gid,0为超级管理员
-
root:备注信息
-
/root:家目录位置
-
/bin/bash:登录时默认加载的shell类型
二、用户密码文件:/etc/shadow
作用:存放密码及密码策略的文件
密码信息:root: <math xmlns="http://www.w3.org/1998/Math/MathML"> 6 6 </math>6vUt1Ws1x1xbpPkx1$tRR/a/o1BNriWgOD2GgHmdSS/nXysdVDdmEV6SGbPwBXDvyf15u.wu70Hgi1aT6pbt1XmabYxTe4rnquTbyTS/::0:99999:7:::
-
第一列:root 用户名
-
第二列: <math xmlns="http://www.w3.org/1998/Math/MathML"> 6 6 </math>6vUt1Ws1x1xbpPkx1$tRR 加密的密码
-
第三列:17110 上次修改密码时间,最近一次修改密码的时间到1970年1月1日到修改密码那天的天数
-
第四列:0 不限制下次修改密码的时间
-
第五列:99999 密码有效期为99999天,约等于无限期 如果你设置3代表3天后需要修改,否则无法登录
-
第六列:7 密码到期前7天提醒你修改密码
-
第七列:密码宽限时间
-
第八列:账户失效时间
-
第九列:保留字段未启用
三、添加用户账号:useradd
useradd命令格式 :useradd [选项] 用户名
新建一个用户:
-
自动建立一个同名的基本组
-
自动建立一个同名的家目录,在/home下
选项 | 作用 |
---|---|
-u | 指定UID |
-s | 指定登录shell的类型 |
-M | 不建立家目录 |
-d | 指定家目录位置(可以不存在) |
-e | 指定用户的账户失效时间,格式2024-04-05 |
-g | 指定基本组 |
-G | 指定附加组 |
-r | 随机生成一个uid1-999的用户,不建家目录 |
-c | 备注信息 |
-p | 密码,必须是加密后的密码 |
示例:
1)-u 指定用户的UID
LHEY
[root@localhost /]# useradd -u 2000 LRJ //添加LRJ用户,并指定UID为2000
[root@localhost /]# cat /etc/passwd |grep LRJ //查看passwd中LRJ的信息
LRJ:x:2000:2000::/home/LRJ:/bin/bash
2)-s 指定登录shell的类型
LHEY
[root@localhost /]# useradd -s /sbin/nologin LHEY //创建LHEY用户并指定登录shell为/sbin/nologin,该用户无法登录系统
[root@localhost /]# cat /etc/passwd |grep LHEY //查看passwd中LHEY的信息
LHEY:x:2003:2003::/home/LHEY:/sbin/nologin
3)-M 不建立家目录
LHEY
[root@localhost /]# useradd -M LAIL //创建LAIL用户且不建立家目录
[root@localhost /]# ls /home //查看/home下有没有LAIL的家目录
lhey LRJ test
四、设置/更改用户口令:passwd
root用户可以指定用户名作为参数,对指定账号的密码进行管理。不指定用户名时,修改当前账号的密码。
普通用户只能执行单独的passwd命令修改自己的密码
passwd命令格式:passwd [选项] 用户名
选项 | 作用 |
---|---|
-d | 清空用户密码 |
-l | 锁定用户无法登录 |
-u | 解锁用户 |
-S | 查看用户是否被锁定 |
1)设置或修改用户密码
LHEY
[root@localhost ~]# passwd LHEY //设置或修改LHEY用户的密码
更改用户 LHEY 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2)-d 清除用户密码,使用用户名可直接登录
LHEY
[root@localhost ~]# passwd -d LHEY //清除LHEY用户的密码
清除用户的密码 LHEY。
passwd: 操作成功
3)锁定和解锁用户
LHEY
[root@localhost ~]# passwd -l LHEY //锁定LHEY用户密码,锁定后LHEY用户无法登陆
锁定用户 LHEY 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u LHEY //解锁LHEY用户密码
解锁用户 LHEY 的密码。
passwd: 操作成功
注意:因LHEY无密码,系统提示不安全,必须使用-f才能解锁。
LHEY
[root@localhost ~]# passwd -l LHEY //锁定LHEY用户密码,锁定后用户无法登陆
锁定用户 LHEY 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u LHEY //解锁LHEY用户,因LHEY用户无密码,系统提示不安全,必须使用-f才
解锁用户 LHEY 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
五、修改用户账号的属性:usermod
对已有用户的属性进行修改
usermod命令格式:usermod [选项] 用户名
选项 | 作用 |
---|---|
-l | 更改用户的名称 |
-u | 指定UID |
-s | 指定登录shell的类型 |
-d | 指定家目录位置(可以不存在) |
-e | 指定用户的账户失效时间,格式2024-04-05 |
-g | 指定基本组 |
-G | 指定附加组 |
-r | 随机生成一个uid1-999的用户,不建家目录 |
-c | 备注信息 |
-p | 密码,必须是加密后的密码 |
-L | 锁定用户账户 |
-U | 解锁用户账户 |
示例:
LHEY
[root@localhost ~]# usermod -l LHEY LRJ //将LRJ的用户名改成LHEY
[root@localhost ~]# usermod -L LHEY //锁定LHEY用户
[root@localhost ~]# passwd -S LHEY //查看LHEY用户状态
LHEY LK 2024-04-05 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U LHEY //解锁LHEY用户
[root@localhost ~]# passwd -S LHEY //查看LHEY用户状态
LHEY PS 2024-04-05 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
六、删除用户:userdel
userdel命令格式:userdel [选项] 用户名
- -r:连家目录一起删
示例:
LHEY
[root@localhost ~]# userdel number01
[root@localhost ~]# ls /home
number01 number02
[root@localhost ~]# userdel -r number02
[root@localhost ~]# ls /home
number01
用户组管理
一、组账号文件
组账号文件的位置:
-
/etc/group:保存组账号基本信息。
-
/etc/gshadow:保存组账号的密码信息。
group文件每行分成了4段,每个字段含义如下:
- 字段1:组账号名称。
- 字段2:密码占位符x;通常不需要设置组密码。由于安全原因,该密码被记录在/etc/gshadow中,因此显示为'x'。类似/etc/shadow文件。
- 字段3:组编号GID。
- 字段4:本组的成员用户列表 (一般不包括基本组对应的用户帐号),多个成员之间以逗号","分隔 。
示例:
LHEY
[root@localhost ~]# head -3 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
二、添加组账号:groupadd
groupadd命令格式:groudadd [-g GID] 组账号名
示例:
LHEY
[root@localhost ~]# groupadd -g 1025 LRJ //添加LRJ用户组,指定GID为1025
[root@localhost ~]# tail -1 /etc/group //查看group文件
LRJ:x:1025:
三、删除组账号:groupdel
groupdel命令格式:groupdel 组账号名
示例:
LHEY
[root@localhost ~]# groupdel LRJ //删除LRJ用户组
[root@localhost ~]# tail -4 /etc/group //查看group文件
sshd:x:74:
tcpdump:x:72:
lhey:x:1000:lhey
apache:x:48:
用户帐号的初始配置文件
一、初始配置文件的来源
新建用户账号时,从 /etc/skel 目录中复制而来, 比如默认bin/bash,默认家目录。
用户宿主目录下的初始配置文件只对当前用户有效。
二、主要的用户初始配置文件
-
~/.bash_profile : 这个文件是为系统全局变量配置文件,可以通过重启系统或者执行 "source /etc/profile" 命令使profile文件被读取。
-
~/.bashrc: 这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本。
-
~/.bash_logout: 每一个允许bash shell 的用户都会执行此文件。可通过执行bash命令打开一个新的bash,使bashrc文件被读取。
备注:
-
修改/etc/profile文件中相关配置,切换bash或者用户后都需要source /etc/profile才生效;
-
修改/etc/bashrc文件中相关配置,切换bash或者用户后直接生效
三、文件/目录的权限和权属
属主:文件的主人,文件的拥有者
属组:文件的拥有组
rw- r-- r--
- r:读
文件:可以看里面的内容
文件夹:可以用ls看文件夹的文件列表
- w:写
文件:可以修改文件的内容
文件夹:新建文件(文件夹),删除文件(文件夹,移动文件(文件夹
- x:执行
文件:可以运行(命令,脚本),颜色是绿色
文件夹:执行是最小的权限,没有执行,读写无法使用
四、数字法表示文件的权限
rwx
100-----------4
010-----------2
001-----------1
111-----------7
二进制转化成十进制
最高权限为7
五、修改文件权限:chmod
chmod命令格式:chmod 【选项】 指明属主,属组,其他人+权限 文件
常用选项:
选项 | 作用 |
---|---|
-R | 递归 |
u | 属主 |
g | 属组 |
o | 其他人 |
a | 所有人 |
+ | 加上 |
- | 减去 |
= | 赋予 |