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日志并进行多维度分析。
目录
相关文章
|
3天前
|
Linux Shell 数据安全/隐私保护
|
1天前
|
存储 安全 Linux
|
19天前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
34 3
|
22天前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
37 3
|
22天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
21天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
22天前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
20 0
|
安全 Devops Shell
用户权限-Linux系统特殊权限
用户权限-Linux系统特殊权限
624 0
用户权限-Linux系统特殊权限
|
13天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
104 5
|
13天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
49 4