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. 该⽂件的所有者删除

相关推荐
野犬寒鸦16 分钟前
Pipeline功能实现Redis批处理(项目批量查询点赞情况的应用)
java·服务器·数据库·redis·后端·缓存
疯狂吧小飞牛26 分钟前
基于ubuntu搭建gitlab
linux·ubuntu·gitlab
泽020232 分钟前
Linux基本指令(一)
linux·运维·服务器
2301_8016730142 分钟前
ipv6学习
linux·服务器·学习
AOwhisky1 小时前
板块三章节3——NFS 服务器
运维·服务器·php
₯㎕星空&繁华2 小时前
接口自动化-pytest
运维·经验分享·笔记·自动化·pytest·接口
从零开始的ops生活2 小时前
【Day 18】Linux-DNS解析
linux·运维·服务器
AI克斯2 小时前
【VSCode】 使用 SFTP 插件实现多服务器同步
服务器·ide·vscode
Dontla2 小时前
Linux怎么查看时区信息?(Linux时区)(tzselect)
linux·运维·服务器