Linux 关于 用户权限、文件权限 的学习日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux 关于 用户权限、文件权限 的学习日志

用户:

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

超级用户:可以在Linux系统下做任何事情不受限制

普通用户:只能在Linux下做有限的事情

超级用户的命令提示符是"#"   普通用户的命令提示符是"$"


文件权限:

06e8fdfe534945138ccc9f74c84a4c0f.jpg

       这个是我们Linux下使用 ll 命令显示出来的文件的权限信息:

       总共是有10个字符,分为4个部分,开始的第一个字符为一个部分,后面9个字符每3个为一部分


第一个字符是文件的类型(Linux不是按照文件的后缀区分文件的,Linux是按照这第一个字符区分的,当然这不影响我们自己使用后缀区分)

-: 普通文件,文本,源代码,可执行程序,第三方动静态库等

d:目录文件

l:链接文件

p:管道文件

b:块设备文件,磁盘

c:字符设备文件


需要注意一个点:虽说Linux不用文件的后缀区分文件,但是编译器gcc g++ 可不一样,他们是要区分的


Linux系统,人分为三类:文件的拥有者(owner)、文件的所属组(grouper)、文件的其他用户(other)

979e93de78c84a23b011e055301cfd94.jpg

红框中的就是文件的拥有者


       上面说了前面那10个字符后面9个每三个为一组,正好每一组对应: 文件的拥有者(owner)、文件的所属组(grouper)、文件的其他用户(other) 。

       r:就是可读

       w:就是可写

       x: 可执行

       -:没有这个权限


权限也是修改的,在终端上我们可以使用chmod命令来修改文件权限

       chmod (u/g/o) (+/-) (r/w/x) 文件名

       比如: chmod u+rw test.cc  (就是给test.cc 文件的拥有者添加读和写的权限)

      chmod o-x test.cc  (给test.cc文件的其他用户删除可执行的权限)

                   chmod g+x,u-r test.cc (也可以同时设置多个)


注意:虽说有的文件,你给它添加了可执行的权限,如果它本身就是不可执行的,也是没有用的

chmod命令 还可以使用8进制的方式使用

        chmod 666 test.cc (每一个6转为2进制就对应 拥有者、所属组、其他 的权限)

 666:110 110 110 (- 和(r/w/x)就是 0 和 1 的关系)

chown命令可以更改 拥有者  chgrp命令可以该所属组  其他 :只要拥有者和所属组变了也就变了


  chown zs test.cc

       chown root:root test.cc (拥有者和所属组都变为root)

如果你只是普通用户,直接修改是不可行的(涉及信任列表),需要在命令的前面加上 sudo (以root的身份去运行该程序chown)


目录权限:

如果想要进入一个目录是不受这个目录的权限限制的。 只不过:

如果目录只没有 r 权限,允许进入,也可以创建文件,但是不允许查看文件列表

如果目录只没有 w 权限,允许进入,可以在该目录下查看该目录的文件列表,但是不允许创建文件

如果目录只没有rw权限,允许进入,但是不允许创建文件和查看文件列表(文件内容是否可以查看是根据这个文件的权限决定的)


按理来讲 如果一个目录没有r权限,该目录下无法查看文件列表,那么这些文件名就找不到,他的内容就无法查看(文件路径)


在Linux中,默认的是

普通文件的默认权限是从666开始的

目录文件的默认权限是从777开始的

(默认权限 != 最终权限)


实际上创建文件的最终权限是这样的: 

8d64c18d563d4ba49b0a51bca515c1d6.jpg

d118d894b5654d05ba52a5ec06dbf54f.jpg

可以看到普通文件是 664 目录文件是 775,这些都是因为权限掩码造成的,最终的权限是=默认权限去掉umask(权限掩码)中存在的权限

e754074fcd2b47f58ea584341623bcaa.jpg

最终权限=默认权限&~(权限掩码)


粘滞位:

有时候,有些目录多个用户都可以访问的情况下,就存在可能会有误删的情况,所以为了处理这种情况可以给该目录 添加粘滞位


   chmod +t dir

被设置粘滞位的目录,该目录下的文件只能由超级管理员、目录的所有者、文件的所有者删除

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
1月前
|
存储 安全 Linux
|
1月前
|
Linux Shell 数据安全/隐私保护
|
1月前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
33 7
|
2月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
60 3
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
7月前
|
存储 监控 Ubuntu
Linux系统之GoAccess实时Web日志分析工具的基本使用
【5月更文挑战第22天】Linux系统之GoAccess实时Web日志分析工具的基本使用
229 1
|
7月前
|
存储 监控 数据可视化
linux日志分析工具与命令
在Linux中,日志分析常用命令行工具如`tail`(实时追踪日志)、`head`(显示日志开头)、`grep`(搜索关键词)、`awk`(复杂文本处理)、`sed`(文本替换)、`less`(分页查看)和`cat`(输出内容)。此外,还有日志分析工具如Logwatch(自动分析邮件摘要)、rsyslog/syslog-ng(日志收集)、Graylog(集中式管理)、ELK Stack(日志收集、解析、存储和可视化)和Splunk(企业级日志管理)。这些工具帮助管理员监控系统、排查问题、进行安全审计并获取业务洞察。
230 1
|
存储 监控 网络协议
Linux日志分析工具之AWStats
AWStats是一款功能强大且功能强大的免费工具,可以图形方式生成高级Web,流媒体,ftp或邮件服务器统计信息。此日志分析器用作CGI或命令行, 并在几个图形网页中显示您的日志包含的所有可能信息。
Linux日志分析工具之AWStats
下一篇
DataWorks