linux运维文件权限与归属

简介: 文件权限与归属linux命令学习

文件权限与归属

尽管linux系统中一切皆文件,但是每个文件的类型不尽相同

字符 文件类型
- 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件

文件的特殊权限

SUID

suid是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)

当文件由rwx变为rws时,就意味着普通用户临时的获得了修改passwd文件的权限

SGID

让执行者临时拥有属组的权限。

让某个目录中创建的文件自动继承该目录的用户组。

chown命令

设置文件所有者

chown  【-R】 user名  :group名  文件名   # -R是在文件夹的时候添加

chmod 命令

修改文件所属用户,所属组,其他用户的权限

chmod  777 文件名

chgrp命令

设置文件所属组

chgrp  【-R】 所属组  文件名  (目录名)

SBIT

SBIT特殊权限位,可确保用户只能删除自己的文件,而不能删除其他用户的文件

当设置SBIT后,文件的其他人权限的x就会变为t,如果没x就会变为T。

文件隐藏属性

chattr命令

用于设置文件的隐藏属性

chattr  【参数】 文件   # 加功能就是+参数,移除功能就是移除参数
参数 作用
i 文件:不允许删除改名,添加和修改数据
目录:只能修改目录下文件的数据,不允许新建和删除文件。
a 文件:只能增加,不能删除修改
目录:只能修改,新建,不允许删除。
S 文件内容在修改之后立即同步到硬盘
s 彻底从硬盘中删除,不可回复
A 不在修改这个目录或文件的最后访问时间(atime)
b 不在修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或者目录进行压缩
u 当删除文件后依然保持其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并
X 可以直接访问压缩文件中的内容。

lsattr命令

用于显示文件的隐藏权限

文件访问控制列表(ACL)

不知道大家是否注意到,前文讲的一般权限,特殊权限,隐藏权限其实有一个共性-----权限是针对某一类用户设置的。如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。

基于普通文件或目录设置的ACL其实就是针对指定的用户或者用户组设置文件或目录的操作权限。

如果针对某个目录设置了ACL,则目录的文件会继承其ACL,若针对文件设置了ACL,则文件不在继承其所在目录的ACL。

setfacl命令

用于管理文件的ACL规则

setfacl  【参数】 文件名称

-R  #针对目录文件使用的递归参数
-m  #针对普通文件使用的参数
-b  #删除某个文件的ACL

例:给一个普通用户设置进去/root的rwx权限

xn_2022-08-18_08-58-52

xn_2022-08-18_09-00-57

但是的但是 我们怎么知道这个文件上是不是有ACL呢。

常用的ls命令是看不到ACL表的信息的,但是却可以看到文件的权限最后一个点(.)变成了加号(+)。这就意味着文件已经设置了ACL了。

xn_2022-08-18_09-36-41

getfacl命令

用于显示文件上设置的ACL信息

getfacl  文件名称

xn_2022-08-18_09-43-04

su命令与sudo服务

su命令

解决切换用户身份的需求使得当前用户在不退出登录的情况下,顺畅的切换到其他用户。

sudo

你从普通用户切换到root用户,是需要root密码的,这就存在着泄露root用户密码的风险。

sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务

sudo 【参数】 命令名称
参数 作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名 或 UID值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo命令需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语

总结来说,sudo有以下功能:

  1. 限制用户执行指定的命令
  2. 记录用户执行的每一条命令
  3. 配置文件(/etc/sudoers)提供集中的用户管理,权限与主机参数(visudo就是这里面的内容)
  4. 验证密码的后5分钟内无需让用户再次验证密码。

visudo的内容:

谁可以使用  允许使用的主机=(以谁的身份)  可执行命令的列表

dianxin3    ALL=(ALL) ALL

aqassoc   ALL=(ALL) NOPASSWD:ALL,!/bin/su,!/sbin/init,!/sbin/shutdown  # !后面的是除了的
目录
相关文章
|
7天前
|
存储 安全 Linux
|
16天前
|
运维 监控 网络协议
|
2天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
13 3
|
1月前
|
存储 运维 搜索推荐
|
28天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
33 1
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
37 1
|
2月前
|
安全 Linux 数据安全/隐私保护
探索Linux操作系统的文件权限管理
【9月更文挑战第29天】在数字世界中,文件权限管理如同保护我们隐私的锁。本文将带你了解如何在Linux系统中设置和管理文件权限,确保你的数据安全。我们将一起学习如何通过命令行工具来控制文件访问,就像学习一门新语言一样有趣。准备好了吗?让我们一起开启这场技术之旅!
|
29天前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
29天前
|
Linux
linux/mac 下查看、修改文件权限的命令
这篇文章介绍了在Linux和Mac操作系统下如何查看和修改文件及文件夹的权限。
47 0
|
2月前
|
消息中间件 运维 Linux
linux之centos运维kafka
linux之centos运维kafka