3. Centos-Linux用户文件和组

Linux 用户 组 目录 权限

一. 用户管理:

众所周知,linux 是一个多任务多用户的操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号\

useradd 命令:

useradd 命令使用来创建用户的,创建完默认会在/home目录下创建一个和用户名同名的家目录

useradd [参数] # 参数是用户名
useradd -d [参数1] [参数2] # 选项 -d 就是指定家目录, 参数1 指的是要指定的用户的家目录 参数2 指的是新用户名

passwd 命令:

修改用户密码

passwd [参数] # 参数是用户名  如果不写用户名就是给当前登录的用户修改密码

使用 echo 命令一次性设置密码

echo 123456 | passwd  --stdin user1
echo 123456 | passwd  --stdin user2 
# echo 后面接的是密码

账户管理:

chage 命令:

用于设置用户账户失效时间:

chage 选项 [参数] # 参数为用户名
chage -E 2024-5-7 szq # 设置账号什么时候过期
 # -d 显示上一次更改的日期 
 # -E 设置帐号到期的日期  
 # -i 设置密码到期后还可以使用几天 
 # -l 显示当前的设置 
 # -m 设置密码可更改的最小天数 
 # -M 设置密码保持有效的最大天数 
 # -R 设置用户的chroot目录 
 # -W 设置提前收到警告信息的天数

设置用户密码失效时间:

usermod -e 命令:

设置单个用户密码失效时间:

usermod -e [参数1] [参数2] # 参数1 是时间 参数2 是用户名
usermod -e 2024-5-27 szq 

/etc/login.defs 批量设置 密码失效时间:

vim /etc/login.defs
PASS_MAX_DAYS   99999 # 密码过期时间 99999 为用户永不过期
PASS_MIN_DAYS   0 # 密码最小修改天数
PASS_MIN_LEN    5 # 可接受密码最小长度 
PASS_WARN_AGE   7 # 密码过期前多少天给出提示

userdel 命令:

用于删除用户:

userdel [参数]  # 参数是用户名 此种方式删除用户是保留家目录的
userdel -r [参数] # 此参数是用户名 -r 是删除用户的同时删除用户的家目录, 一般情况下建议保留家目录 

id 命令:

用来查询用户的信息:

id [参数] # 参数是用户名,也可以不写,不写查询的就是当前用户

whoami 命令:

用来查询当前用户的信息:

whoami
who am i

在这里插入图片描述

su - 命令:

用来切换用户

su - [参数] # 参数是用户名
# 高权限切换到低权限不需要密码, 低权限到高权限需要密码

二. 用户组管理 :

**可以对系统中有相同共性(权限)的用户进行统一管理,每个用户都要属于一个组不能独立于组之外 **

groupadd 命令:

用于创建用户组

groupadd [参数] # 参数是用户组名称

groupdel 命令:

用于删除用户组

groupdel [参数] # 参数是用户组的名称

useradd -g 命令:

用于在创建用户的时候指定用户的组 (修改组名)

useradd -g [参数1] [参数2] # 参数1 是用户组的名称 参数2 是用户的名称
# 如果在创建用户的时候没有指定用户的组,系统回默认生成一个和用户名相同的组

useradd -G 命令:

用于加入组

useradd [参数1] -G [参数,参数,...] # 参数1 用户名 参数2 要加入的组多个用,号隔开

usermod -g 命令:

用于修改用户组:

usermod -g [参数1] [参数2] # 参数1 是用户组的名称 餐数2 用户的名称

usermod -G 命令:

设置一个用户属于多个组

usermod -G [参数1,参数1,....] [参数2] # 参数1 是组名, 多个组名用 , 号隔开 参数2 是用户名 

usermod -d 命令:

用于修改用户登录的初始目录,修改的新的目录要保证这个用户要有能登陆这个目录的权限:

usermod -d [参数1] [参数2] # 参数1 目录的路径  参数2  用户名

usermod -e

用户和组的相关配置文件:

1. /etc/passwd 文件:

用于存放用户(user)的各种信息,每一行代表一个用户:

# root:x:0:0:root:/root:/bin/bash 
用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录shell

2. /etc/shadow 文件:

口令配置文件

# root:$6$qXAhlBKCYAdtYoIv$2vYa/RB7ukhWnghOiv00RAE.2h9LwV8sJ5UYhIlIa650uwKN4wyUOIa76OMTF0BgcjR9gv9WdhMfjTRVA6cT40::0:99999:7:::
登录名:加密口令:最后一次修改时间:最小间隔时间:最大间隔时间:警告时间:不活动时间:失效时间:标志

3. /etc/group 文件:

存放组的配置文件,记录linux包含的组信息

# root:x:0:
组名:组标识符:组内用户列表(用户信息)

三. 所有者 所在组 其他组 :

文件所有者 所在组 其他组 :

在这里插入图片描述

文件所有者:

一般为文件或目录的创建者,可以使用 ll 命令,来查看用户的所有者:

# dr-xr-xr-x.   5                          root   root     4096        2月  24 04:35 boot
     权限          文件硬链接数或目录子目录数   所有者  所在组   所占字节数   最后修改日期    文件名

chown 命令:

改变文件的所有者

chown 选项 [参数1] [参数2] # 参数1 是用户名 参数2 文件名
# 选项 -R (大写) 处理指定目录以及其子目录下的所有文件

chgrp 命令:

改变文件的所在组

chgrp 选项 [参数1] [参数2] # 参数1 是组名 参数2 是文件名
# 选项 -R (大写) 处理指定目录以及其子目录下的所有文件

三. 权限:

drwxr-xr-x.  19 root root 3100 224 04:35 dev 
lrwxrwxrwx.   1 root root    7 224 04:31 bin -> usr/bin
-rw-r--r--.   1 root root    0 33 09:55 ss
# 第一个字段的第一个字符  d 表示目录,l表示链接(快捷方式),-表示文件,c表示字符设备,b表示块设备(硬盘)
# rwx r代表可读(作用在文件上表示可以查看) 
# w代表可写(作用在文件上表示可以修改,不可以删,要删除文件的话你要对该文件的目录也要有写的权限)
# x表示可执行(如果是目录的话表示可以进入该目录)
# 1-3 位表示所有者 4-6位表示所属组 7-9位表示其他用户拥有该文件的权限

权限也可以使用数字表示:

# r = 4; w = 2; x = 1  rwx = 4 + 2 + 1 = 7

chmod 命令:

修改文件或者目录的权限, u表示所有者, g表示所有组,o其他

chmod u= g= o= [参数] # 参数 目录或者文件
# 选项 -R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
chmod u=rwx g=rw o=r [参数]
#----------------------------------------或者
chmod 764 [参数]

默认权限 :

umask:

系统用户: umask 022

普通用户: nmask 002

文件目录权限 = 文件目录默认权限 - umask 值 (这是一个记忆的方法, 但是不严谨,大部分情况下是对的)

真确的方法是通过 把默认权限每一位转换成二进制, 把umask 值每一位转换成二进制, 进行与运算

决定umask 的配置文件 /etc/bashrc 但是不要瞎修改


高级权限:

s 所对应的数值为: u 4, g 2,o 1

SUID:

限制:只能设置在二进制可执行程序上, 对目录文本无效

功能: 程序运行时的权限从执行者变更成程序的所有者

chmod u+s /usr/bin/less
chmoe 4755 /usr/bin/less

SGID:

限制: 既可以给二进制可执行程序设置, 也可以给目录设置

功能: 在设置了 SGID 权限的目录下建立文件时, 新创建的文件的所属组会继承上一层目录的所属组

chmod 2755 /www/
chmod g+s /www/

Stickybit:

限制: 只作用与目录

功能:目录下创建的文件只有 root 用户,文件的创建者, 文件所有者, 才能删除

chmod o+t /sss/
chmod 1755 /sss/

ACL 权限:

直接给用户配置权限

getfacl 命令:

查看文件的ACL 的权限:

getfacl 选项 [参数] # 参数 是文件 或者路径 如果是路径的话要加选项 -d
# -a 显示文件的ACL策略
# -c 不显示注释标题
# -d 显示目录的ACL策略
# -e 显示所有的有效权限
# -L 找到符号链接对应的文件
# -n 显示用户UID和组群GID
# -P 不找符号链接对应的文件
# -R 递归处理所有子文件
# -t 设置表格输出格式

setfacl 命令:

设置 acl 权限:

# 针对文件配置 acl 权限
setfacl -m u:[用户名称]:[权限] [文件名] # 要递归处理多个文件的话要使用参数 -R 
# 针对目录设置 acl 权限 
setfacl -Rm u:[用户名称]:[权限] [文件名]
# 删除单个用户的 acl 权限:
setfacl -x u:[用户名] [文件名]
# 删除所有用户的 acl 权限:
setfacl -b [文件名]
# -b 清空扩展访问控制列表策略 
# -d 应用到默认访问控制列表 
# -k 移除默认访问控制列表 
# -L 跟踪符号链接文件 
# -m 更改文件访问控制列表策略 
# -P 找到符号链接对应的文件 
# -R 递归处理所有子文件 
# -x 根据文件中访问控制列表移除指定策略 

文件扩展属性:

Linux 的文件扩展属性有 +a 只能追加内容 +i 不能修改内容

chattr 命令:

设置文件的扩展属性

# +a 只能追加内容 
# +i 不能修改内容
# 增加文件的扩展属性
chattr +a [参数] 
chattr +i [参数] # 参数 是文件
# 删除文件的扩展属性
chattr -a [参数] 
chattr -i [参数] # 参数是文件

lsattr 命令:

查看文件的扩展属性

lsattr [参数] # 参数为 文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun 马胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值