目录
一、三大用户账号
Linux有三大用户类型,介绍如下:
1、超级用户:拥有最高权限,root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
2、普通用户:权限受限的用户,账号需要由root用户或其他管理员用户创建,拥有的权限会受到限制,处理问题收到限制,一般只在用户自己的宿主目录中拥有完整权限。
3、程序用户:给程序用的用户,在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行。
二、组账号
1、基本组(私有组):有且只有一个,一般为创建用户时指定的组。
2、附加组(公共组):可有(可以有多个)可无 ,用户除了基本组以外,额外添加指定的组。
三、标识号UID与GID
1、UID(User IDentity ,用户标识号)
生成用户的时候,会自动分配一个UID账号,系统去分别用户的时候不是以 用户名 ,而是以UID号作为区分。
- UID的取值范围
-
超级用户UID 0 0 普通用户UID CentOs6以前 500+ CentOs7以后 1000-60000 程序用户UID CentOs6以前 1-499 CentOs7以后 201-999 root 不一定是超级管理员 uid=0 的才是超级管理员
2、GID(Group IDentifi,组标识号)
与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID(Group IDentity,组标识号)。
root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
四、用户账号文件介绍
1、/etc/passwd :存放用户信息文件
系统上所有的用户信息都存在这个文件中
共七个字段,七段用冒号(:)隔开
第一字段:root:用户名
第二字段:x:密码占位符
第三字段:0 : uid 用户编号
第四字段:0:gid 组编号
第五字段:root: 备注
第六字段:/root: 家目录的位置
第七字段:/bin/bash:用户默认加载的 shell 环境
2、/etc/shadow:存放用户密码信息的文件
保存用户的密码、账号有效期等信息
root:$6$4V92DDnjpoaeXmmD$Dx./:18318:0:99999:7: : :
第一字段:root:用户名
第二字段:$6$4V92DDnjpoaeXmmD$Dx:算法加密后密码 如果此处 为* !! 禁止登陆
第三字段:18318: 从1970.1.1 (linux 诞生的日期) 到 今天 过了19318
第四字段:0: 代表不限制 更改密码的时间 ,如果写10 代表10天内不能修改
第五字段:99999:密码 有效期 约等200年 永久
第六字段:7:密码到期前 7天 提醒你
第七字段: 密码过期后的宽限天数 30 天 还能登陆
第八字段:账号失效时间
第九字段:无用字段,保留字段收费内容
五、管理用户账号相关命令
1、useradd:添加用户账号
对新建用户的基本信息进行修改 (对已有用户无法设置)
格式:
useradd [选项] 用户名
-u 指定uid
-d 指定家目录
-M 不建立家目录
-s 指定shell类型
建立一个用户 指定uid(-u) 不建家目录(-M) 不让这个用户登录(-s /sbin/nologin)
-e 账户失效时间,指定过期时间-e yy-mm-dd
-g 指定基本组的 gid
-G 指定附加组的gid
2、passwd:修改密码(锁定用户)
格式:
passwd [选项] 用户名
-l 锁定用户 ,不让用户登录
-S 查看是否锁定
-u 解锁
-fu 强制解锁
-d 清空密码,不需要密码登录
3、usermod:修改用户账号属性
useradd 新建用户的信息进行修改
已存在的用户需要 使用 usermod 进行修改
格式:
usermod [选项] 用户名
-l 更改用户名
-u 指定uid
-d 指定家目录
-M 不建立家目录
-s 指定shell类型
-e 账户失效时间 yy-mm-dd
-g 指定基本组的 gid
-G 指定附加组的gid
-L 锁定用户 passwd -l 一样
-U 解锁用户 passwd -u 一样
4、userdel:删除用户账号
格式:
userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录—并删除
小连招:
#删除用户user
userdel user
#删除用户家目录(需确认
rm -rf /home/user
#删除用户邮箱(需确认
rm -rf /var/spool/mail/user
5、echo:快捷明文设置用户密码
格式:
echo 密码 | passwd --stdin 用户名
六、用户账号和组账号配置文件
1、家目录基本配置文件
.bash_logout
#退出用户后 ,关机之前 会执行此文件里面的命令
.bash_profile
.bashrc
#进入用户后会执行里面的所有命令
2、组账号文件
/etc/passwd :用户信息
/etc/shadow :用户密码,保存组账号的密码信息
/etc/group :保存组账号基本信息
七、管理组账号相关命令
1、groupadd:添加组账号
格式:
groupadd 组名
2、gpasswd:添加删除组成员
格式:
gpasswd [选项] 组帐号名
选项 | 功能作用 |
---|---|
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 向组内批量添加用户 |
八、查询账号信息相关命令
1、groups:查询用户所属组
格式:
groups 用户名
2、id:查询用户身份标识(uid、gid和组)
格式:
id 用户名
3、finger:查询用户账号的详细信息(外部命令)
格式:
finger [用户名]
使用该命令前需要先下载安装,命令如下
[root@localhost ~]#yum install finger -y
九、读写执行权限rwx421
- 读取r:允许查看文件内容 (有rx权限才可以显示目录列表)
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
读写执行 | rwx | 7 |
例题:
1、一个文件可以被删除是和什么有关?和文件夹权限有关,和自己本身没有关系。
能不能看文件是和用户有关,而不是和命令有关,当前用户有权限就可以看,没有权限就不可以看。
文件夹最小权限是执行,如果没有执行权限,一样不可以打开,
目录没有执行权限什么都做不了,
文件没有读的权限,无法进行复制操作。
2、cp /etc/issue /mnt/dir 这条命令中 ,cp、etc、issue、dir和mnt分别最低需要什么权限?
/bin/cp 需要x权限 ; /etc/ 需要x权限 ; /etc/issue 需要r权限 ;
/data 需要x权限 ; /data/dir 需要w,x权限。
十、关于文件或目录的权限和归属命令
1、chmod:设置文件和目录的权限
格式:
chmod [ugoa] [+-=] [rwx] 文件或目录
u:属主 g:属组 o:其他用户 a:所有用户
+:增加 -:去除 =:设置权限
r:读 w:写 x:执行
格式:
chmod nnn(3位八进制数) 文件或目录
比如chmod 777 /home/test等,建议别给如此高权限
此时 r 八进制为4 w 八进制为2 x 八进制为1
常用选项:-R:递归修改指定目录下所有子项的权限
2、chown:设置文件和目录的归属
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用选项:-R:递归修改指定目录下所有子项的权限
3、umask:决定新建文件目录的权限
文件落地最高权限 666 (为安全性考虑,文件没有执行权限) ;文件夹落地最高权限 777
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002、root的umask 默认是 022
3.1 永久更改umask(慎改)
echo 'umask 027' >>/etc/profile
echo 'umask 027' >>/etc/bashrc
bash
#可bash刷新