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

简介: 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日志并进行多维度分析。
目录
相关文章
|
26天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
5天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
28 0
|
19天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
19 1
Linux系统日志
|
30天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
4天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
7 0
|
5天前
|
消息中间件 Unix Linux
Linux的学习之路:17、进程间通信(1)
Linux的学习之路:17、进程间通信(1)
20 1
|
5天前
|
存储 安全 Linux
Linux的学习之路:9、冯诺依曼与进程(1)
Linux的学习之路:9、冯诺依曼与进程(1)
18 0
|
12天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
|
20天前
|
Linux 应用服务中间件 网络安全
小白学习Linux的学习建议和阶段
【4月更文挑战第5天】小白学习Linux的学习建议和阶段
48 0
|
22天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6