Linux入门指南:linux权限究竟是什么?和文件有什么关系?

简介: Linux入门指南:linux权限究竟是什么?和文件有什么关系?

一、Linux权限概念

Linux下有两种用户:超级用户(root)、普通用户

  • 超级用户:可以再linux系统下做任何事情,不受限制。
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是"$"

普通用户和超级用户间的切换:

指令 功能
su [用户名] 简单用户切换:要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令
su - [用户名] 重新登录用户
sudo 指令 用于指令提权

二、Linux权限管理

2.1 文件访问者的分类(角色)

  • 文件和文件目录的所有者:u — User(中国平民 法律问题)
  • 文件和文件目录的所有者所在的组的用户:g — Group(不多说)
  • 其它用户:o — Others (外国人)

2.2 .文件类型和访问权限(事物属性)

文件类型和权限如下:

2.2.1文件类型

常见的文件类型如下:

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

2.2.2 基本权限

基本权限分为r、w、x3种。具体如下:

权限名称 功能
读(r) Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w) Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x) execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“ - ” 不具有该项权限

2.3 文件权限值的表示方法

文件权限值的表示方法分为以下两种:

2.3.1 字符表示方法

Linux表示 说明 Linux表示 说明
r - - 只读 - w - 仅可写
rw- 可读可写 -wx 可写可执行
r-x 可读可执行 rwx 可读可写可执行

2.3.2 8进制数值表示方法

权限符号 八进制 二进制
r 4 100
w 2 010
x 1 001
rw 6 110
rx 5 101
wx 3 011
rwx 7 111

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

3.1 chmod

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项

。R -> 递归修改目录文件的权限

。说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的两种格式:

  1. 用户表示符+/-=权限字符

。+:向权限范围增加权限代号所表示的权限

。-:向权限范围取消权限代号所表示的权限

。=:向权限范围赋予权限代号所表示的权限

用户符号:

。u:拥有者

。g:拥有者同组用

。o:其它用户

。a:所有用户

实例:

# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
  1. 三位8进制数字

实例:

# chmod 664 /home/abc.txt //对应权限为:rw- rw- r--
# chmod 640 /home/abc.txt  //对应权限为:rw- r-- ---

3.2 chown

功能:修改文件的拥有者

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

实例:

# chown root test.c
# chown user1 test.exe

3.3 chgrp

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

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

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

实例:

# chgrp root test.c
# chgrp user1 test.o

3.4 umask

功能:查看或修改文件掩码

新建文件夹默认权限=0666 ;新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到

umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask 。

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

实例:

# umask //查看
# umask 044//设置

四、file指令

功能说明:辨识文件类型。

语法:file [选项] 文件或目录…

常用选项

。-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

。-z 尝试去解读压缩文件的内容

五、目录的权限和粘滞位

。可执行权限: 如果目录没有可执行权限, 则无法cd到目录中

。可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

。可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

于是, 问题来了~~

换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限. 这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉。所以粘滞位诞生!

粘滞位: chmod +t

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:超级管理员删除、该目录的所有者删除、该文件的所有者删除。

相关文章
|
1月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
1月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
75 28
|
30天前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
199 12
|
25天前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
102 3
|
13天前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
2月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
158 19
|
2月前
|
缓存 Linux
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
87 2
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
存储 Linux C语言
Linux:入门学习知识及常见指令
Linux:入门学习知识及常见指令
|
存储 消息中间件 网络协议
Linux 系统编程从入门到进阶 学习指南
本文旨在为初学者提供一个清晰的 Linux 系统编程入门指南,带你步入 Linux 系统编程的世界,从基本概念到实用技能,一步步建立起您的知识体系。
Linux 系统编程从入门到进阶 学习指南