Linux---第三天---权限

1.切换用户

普通用户切换到root用户

复制代码
su  # 仅切换用户身份,环境变量保持当前用户的配置
su -  # 或 su --login,切换用户并加载目标用户的环境变量(推荐,更彻底)

root用户切换到普通用户

复制代码
su test  # 切换到test用户,环境变量不变
su - test  # 切换到test用户并加载其环境变量

2.文件访问者分类

1.文件和文件目录的所有者:u ---user

2.文件和文件目录的所有者所在的组的用户:g ---Group

3.其他用户: o --- other

3.文件类型和访问权限(事务属性)

文件类型:

d: 文件

-:普通文件

i:软链接

b:块设备文件

p:管道文件

c:字符设备文件

s:套接口文件

基本权限:

◦ 读(r/4):Read对⽂件⽽⾔,具有读取文件内容的权限;对⽬录来说,具有浏览该目录信息的权限
◦ 写(w/2):Write对⽂件⽽⾔,具有修改文件内容的权限;对目录来说具有删除移动目录内
⽂件的权限
◦ 执行(x/1):execute对文件⽽言,具有执行⽂件的权限;对⽬录来说,具有进⼊目录的权

◦ "---"表示不具有该项权限

文件权限值的表示方法:

1.字符表示方法,rwx

2.8进制数值表示方法

4.文件访问权限的相关设置方法

1.设置文件的访问权限 (chmod)

R -> 递归修改⽬录⽂件的权限

复制代码
格式:chmod [参数] 权限 ⽂件名 

• ⽤⼾表⽰符+/-=权限字符
◦ +:向权限范围增加权限代号所表⽰的权限
◦ -:向权限范围取消权限代号所表⽰的权限
◦ =:向权限范围赋予权限代号所表⽰的权限

◦ ⽤⼾符号:
◦ u:拥有者
◦ g:拥有者同组⽤
◦ o:其它⽤⼾
◦ a:所有⽤⼾
◦ 实例:
▪ chmod u+w /home/abc.txt
▪ chmod o-x /home/abc.txt
▪ chmod a=x /home/abc.txt
• 三位8进制数字

复制代码
▪ chmod 664 /home/abc.txt
▪ chmod 640 /home/abc.txt

2.修改文件的拥有者(chown)

复制代码
chown [参数] ⽤⼾名 ⽂件名 


chown user1 f1
chown -R user1 filegroup1
  1. chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名文件名

常用选项:-R 递归修改文件或目录的所属组

实例: chgrp users /abc/f2

4.umask

功能:
• 查看或修改⽂件掩码
• 新建⽂件夹默认权限=0666
• 新建⽬录默认权限=0777
• 但实际上你所创建的⽂件和⽬录,看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的⽂件权限是: mask &~umask

格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产⽣建⽴⽂件时预设权限。超级⽤⼾默认掩码值为0022,普通⽤⼾默认为0002。

使用sudo会出现问题,可以在 /etc/sudoers中添加用户

复制代码
用户名 ALL=(ALL:ALL) ALL

5.目录的权限

1.可执⾏权限: 如果⽬录没有可执⾏权限, 则⽆法cd到⽬录中.
2.可读权限: 如果⽬录没有可读权限, 则⽆法⽤ls等命令查看⽬录中的⽂件内容.

3.可写权限: 如果⽬录没有可写权限, 则⽆法在⽬录中创建⽂件, 也⽆法在⽬录中删除⽂件.

文件的新建和删除权限是由目录决定的

如果别人在你的工作目录里创建了文件,但是你没有写读执行的权限,这时,你是可以删除这个文件的

6.粘滞位

复制代码
[root@localhost ~]$ chmod +t /home/ # 加上粘滞位
[root@localhost ~]$ ls -ld /home/
drwxrwxrwt. 3 root root 4096 9⽉ 19 16:00 /home/
[root@localhost ~]$ su - litao
[lisi@localhost ~]$ rm /home/abc.c #litao不能删除别⼈的⽂件
rm:是否删除有写保护的普通空⽂件 "/home/abc.c"?y
rm: ⽆法删除"/home/abc.c": 不允许的操作

当⼀个⽬录被设置为"粘滞位"(⽤chmod +t),则该⽬录下的⽂件只能由

  1. 超级管理员删除

  2. 该⽬录的所有者删除

  3. 该⽂件的所有者删除

相关推荐
树℡独8 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
小小管写大大码8 小时前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
嵩山小老虎8 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模9 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
zhang133830890759 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
a41324479 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler9 小时前
buildroot System configuration
java·服务器·数据库
津津有味道9 小时前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.10 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
物联网软硬件开发-轨物科技10 小时前
【轨物洞见】告别“被动维修”!预测性运维如何重塑老旧电站的资产价值?
运维·人工智能