百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux权限管理

ahcoder 2025-02-08 09:52 11 浏览

学习路线如下


一、文件的权限

1.权限的概述

·权限是指某个计算机用户具有使用软件资源的权利。

·文件资源所拥有的相关权限就是文件权限

2.权限的分类

1)普通权限

用户正常情况去操作文件所具有的权限。

2)高级权限

用户对某个文件操作有特殊权限,而普通权限不能满足,需要给文件设置高级权限。

3)默认权限

用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的。

注:权限是设置在文件上的,而不是用户


二,普通权限

1.rwx权限的含义

1)读权限——r(read)

针对目录

一个目录拥有r权限,说明可以查看该目录里的内容(ls命令列出)

针对普通文件

一个普通文件拥有r权限,说明可以查看该文件的内容(cat/head/tail/less/more等命令)

读权限r(read)用数字表示是4


2)写权限——w(write)

针对目录
一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)
针对普通文件
一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件)
写权限w(write)用数字表示是2

3)执行权限——x(execute)

针对目录
一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)
针对普通文件
普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)
执行权限x(execute)用数字表示是1

4)没有权限——横杠

没有任何权限用横杠-表示,数字表示是0


三、UGO的含义

UGO,指的是用户身份,每个字母代表不同的用户身份。
U(the user who owns it)
文件的拥有者(owner)或者创建者
G(other users in the file’s group)
在文件的所属组(默认是创建文件的用户的主组)里的用户
O(other users not in the file’s group)

既不是文件的创建者,也不在文件属组里的用户,称为其他人
注意:
除了上面ugo以外,还有一个字母a(all users),表示所有用户,包含ugo


四、如何判断不同身份的用户对文件的权限

1.使用ls命令进行查看

[root@jiangfeng ~]# ll
total 11524
-rwxr-xr-x 1 root root      284 Jul 12 20:23 backup.sh
-rw-r--r-- 1 root root 11790600 Jul  7 14:59 ComsenzDiscuz-DiscuzX-master.zip
drwxr-xr-x 5 root root     4096 Feb  6 12:12 DiscuzX

2.使用stat命令进行查看

[root@jiangfeng ~]# stat backup.sh 
  File: `backup.sh'
  Size: 284           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 396773      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-07-12 20:44:07.985886357 +0800
Modify: 2019-07-12 20:23:06.404696436 +0800
Change: 2019-07-12 20:23:06.407696553 +0800


五、修改文件的普通权限(chmod)

a.修改三类用户的权限
    chmod 655 file,...
    选项:    -R:修改目录及其内部文件的权限
b.修改某类用户或某些用户的权限
    类别:u,g,o,a
    格式:    chmod 用户类别=权限 file,...
        chmod 用户类别+(-)权限 file,...


六、高级权限的作用和设置

1.冒险位(SETUID)

冒险位,指文件操作者(用户)临时拥有文件拥有者的权限
冒险位,一般针对的是命令或者脚本文件
冒险位,用字母表示是s或S;数字表示是4
冒险位的设置: chmod u+s 文件名 或者 chmod 4xxx 文件名


2.强制位(SETGID)
强制位,一般针对的是目录
如果一个目录拥有强制位,那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。
强制位,用字母表示是s或S;数字表示是2
强制位的设置: chmod g+s 文件名 或者 chmod 2xxx 文件名


3.粘滞位(STICKY)
粘滞位,一般针对的是公共目录
如果一个公共目录拥有粘滞位,那么该目录下的文件,只有root和文件的创建者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件)
粘滞位,用字母表示是t或T;数字表示是1
粘滞位的设置: chmod o+t 文件名 或者 chmod 1xxx 文件名


注:

冒险位针对命令;chmod 4xxx 文件名

强制位针对目录;chmod 2xxx 目录名

粘滞位针对公共目录;chmod 1777 公共目录


七、默认权限和umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般可在/etc/profile、/etc/bashrc、$ [HOME]/.bash_profile、$[HOME]/.profile或$[HOME]/.bashrc中设置umask值。

系统默认普通用户umask为:0002,root用户umask为:0022.

[root@jiangfeng ~]# umask
0022
[root@jiangfeng ~]# su - jiangfeng
[jiangfeng@jiangfeng ~]$ umask
0002


八、文件的属主和属组

chown 用户名 文件名
修改文件的属主和属组
chown 用户名.组名 文件名
chown 用户名:组名 文件名

只修改文件的属组
chown .组名 文件名
chown :组名 文件名
可以加-R选项,表示递归修改


九、ACL策略

当你想要对某个文件针对某个用户添加权限时,可以通过ACL访问策略进行权限的更改

setfacl [-bkndRLP] { -m|-M|-x|-X ... } file

常用选项:
-m 修改或者设置ACL策略
-R 递归授权,对目录下已存在的目录或文件有acl策略,但新建的文件没有
-x 去掉某个用户或者某个组的权限
-b 删除所有的acl策略
-d 默认ACL策略,只针对目录,该目录下新建的目录和文件都会继承acl策略
mask: 定义除其他人和所有者外的最大权限

示例:
    setfacl -m u:harry:rwx /shared/sysadmin

相关推荐

Linux 6.15将更新媒体子系统:高通Iris驱动首次亮相

IT之家3月24日消息,科技媒体phoronix昨日(3月23日)发布博文,报道称Linux6.15内核将于本周启动合并窗口,首批提交的PullRequest请求之一,就...

Ubuntu 25.04发行版登场:Linux 6.14内核,带来多项技术革新

IT之家4月18日消息,科技媒体linuxiac昨日(4月17日)发布博文,报道称代号为PluckyPuffin的Ubuntu25.04发行版正式上线,搭载最新Linu...

WordPress 6.8 版本发布:聚焦性能升级,代号“Cecil”

WordPress6.8版本发布:聚焦性能升级,代号“Cecil”全球最受欢迎的内容管理系统(CMS)WordPress正式推出最新版本6.8,代号“塞西尔”(Cecil),以此致敬传奇钢琴家...

Linus Torvalds接受微软Hyper-V升级 下一代Linux启动会更快

虽然Windows的粉丝和Linux的粉丝经常喜欢进行激烈的键盘大战,但操作系统的制造商们自己也了解彼此的优缺点。毫无疑问,微软也明白这一点,事实上,它甚至鼓励用户尝试Linux,尽管是使用...

Debian 12发布:Linux内核升级6.1(debian更新内核)

IT之家6月11日消息,Debian是最古老的GNU/Linux发行版之一,也是许多其他基于Linux的操作系统的基础,包括Ubuntu、Kali、MX和树莓派OS等。这...

Linux Mint预告新功能:升级Nemo搜索、LMDE 7支持OEM安装

IT之家4月10日消息,LinuxMint发布了最新月度简讯,宣布增强Nemo文件管理器的文件搜索功能、Cinnamon桌面环境开始支持Wayland、LMDE7(LinuxM...

Linux 6.2合并大量网络系统更新:推进Wi-Fi 7和800 Gbps网络

IT之家12月15日消息,Linux6.2合并窗口期内已经确认将会合并大量网络子系统更新。和以往版本相同,Linux6.2内核更新周期在网络功能上有大量的改进,更多的细节可以访问这条...

Linux内核升级实践指南(linux内核怎么升级)

Linux内核升级是一个需要谨慎操作的过程,但掌握正确方法后可以显著提升系统性能、安全性或硬件兼容性。以下是一份详细的实践指南,涵盖主流方法及注意事项:一、准备工作查看当前内核版本bashuname...

Linux又将迎来大版本更新 5.20版可能会被称为Linux 6.0

如果你错过了昨天Linux5.19的发布公告,那么这一消息需要回顾一下:被称为Linux5.20的开发中的内核很可能会被称为Linux6.0。根据LinusTorvalds对现代版本的划分,L...

周六的娱乐就是安装一台OracleLinux虚拟机(一)

每个人有每个人的娱乐方式。老父亲可能喜欢摆弄一些机械工具修修补补。我趁着周六安装一套OracleLinux,寓学于乐。在oracle网站上,下载VirtualBox,现在最新版本是7.0.8。在安装过...

Linux系统下Gaussian 16的安装(linux系统如何安装新软件)

Gaussian是目前使用最多的量子化学计算软件,当前最新的版本为Gaussian16C.01。理论上来说Gaussian并不需要安装,因为高斯一般是不出售源代码的,只有二进制文件,以Gaussi...

「Linux基础」VMWare虚拟机安装CentOS后配置静态ip

在VMWare中安装本地虚拟机CentOS7操作系统,动态IP地址会经常变化,不便于管理与实验。为了便于实验,考虑设置成静态IP地址,目标是本地局域网可以通过NAT网关互相访问,且能连接互联网。由于是...

Win10虚拟机,Hyper-V安装CentOS,一次成功

打开控制面板,选择程序选择启用或关闭Windows功能选中Hyper-V下所有的组件。提示我们需要,重启计算机,保存我们的文件,之后点击“立即重新启动”选择开始菜单,输入Hy,就可以打开虚拟机管理器了...

如何在Windows 10中的Hyper-V虚拟机上安装CentOS Linux

注意双重引导的一种可行且相当不错的替代方法是在虚拟机上安装各种操作系统。Microsoft正式支持CentOS作为Hyper-V的来宾OS,并且在安装时可以很好地集成。自CentOS6.4版以来,用...

安装Linux虚拟机的5个理由,以及不安装的5个原因

虚拟机(VM)允许你在不永久更改计算机的情况下探索Linux。如果你对Linux很好奇,但犹豫是否要尝试,VM提供了一个安全、灵活的解决方案。如果这是你第一次听说虚拟机,虚拟机就像“计算机中的计算机”...