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

相关推荐
养海绵宝宝的小蜗9 分钟前
Linux 例行性工作任务(定时任务)知识点总结
linux·运维·服务器
乌萨奇也要立志学C++26 分钟前
【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
linux·运维·服务器
这周也會开心30 分钟前
通过ssh连接GitHub远程仓库
运维·ssh·github
Ronin30532 分钟前
【Linux网络】封装Socket
linux·网络·socket·网络通信
不会写DN1 小时前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
---学无止境---1 小时前
Linux中slab缓存初始化kmem_cache_init函数和定时回收函数的实现
linux
草莓熊Lotso1 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀1 小时前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
努力努力再努力wz2 小时前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表
Small___ming2 小时前
【Linux基础学习】Linux Ubuntu 权限管理:从入门到精通
linux·学习·ubuntu