首页 > 系统相关 >Linux权限详解

Linux权限详解

时间:2023-08-14 11:36:45浏览次数:48  
标签:-- 用户 Jul 详解 Linux 权限 root localhost

一、文件、目录权限和所有者

简介:用户对一个文件或目录具有访问权限,这些访问权限决定了谁能访问,以及如何访问这些文件和目录。通过设置权限可以限制或允许以下三种用户访问:

  • 文件的用户所有者(属主)
  • 文件的组群所有者(用户所在组的同组用户)
  • 系统中的其他用户

在linux系统中,每一位用户都有对文件或目录的的读取、写入和执行权限。

  • 第一套权限控制访问自己的文件权限,即所有者权限
  • 第二套权限控制用户组访问其中一个用户的文件的权限。
  • 第三套权限控制其他所有用户访问一个用户的文件的权限。

这三套权限赋予用户不同类型(即用户所有者、组群所有者和其他用户)的读取、写入及执行权限,这就构成了一个有9种类型的权限组。


二、设置文件和目录基本权限

1、基本权限简介

使用ls -l命令可以显示文件和目录的详细信息,其中包括文件和目录的权限。如下:

[root@localhost  ~]# ls -l /root 
total 156
...
-rw-r--r--. 1 root root    29 Jun 28 22:02 kkk
drwxr-xr-x. 2 root root     6 Jun 29 03:13 mlocate
-rw-r--r--. 1 root root     6 Jul 17 18:33 mm
-rw-r--r--. 1 root root    28 Jun 23 07:14 mm.txt
drwxr-xr-x. 2 root root    39 Jun 22 23:43 mypic
drwxr-xr-x. 2 root root    43 Jul 19 09:57 myshell
drwxr-xr-x. 2 root root     6 Jun 22 22:27 newdir1
-rw-r--r--. 1 root root    12 Jun 29 21:38 notes
-rw-r--r--. 1 root root   227 Jul 19 21:13 number
-rw-r--r--. 1 root root    49 Jul 17 18:51 oo
drwxr-xr-x. 2 root root     6 Jul 23 08:00 packages
drwxr-xr-x. 2 root root    17 Jul 23 19:10 root
-rwxr--r--. 1 root root   279 Jul 19 19:33 score
-rw-r--r--. 1 root root   318 Jul 19 19:58 selection
-rw-r--r--. 1 root root    88 Jul 19 20:52 sum
-rw-r--r--. 1 root root     0 Jun 23 07:06 textfile2
drwxr-xr-x. 2 root root    23 Jul 23 10:37 yum.repos.d
-rw-r--r--. 1 root root   135 Jul 19 21:03 zx

上图第2~10个字符当中的每3个为一组,左边3个字符表示用户所有者权限,中间3个字符表示组群所有者的权限,右边3个字符是其他用户的权限。

  • r(读取):对文件而言,该用户具有读取文件内容的权限;对目录来说,该用户具有浏览目录的权限。
  • w(写入):对文件而言,该用户具有新增、修改文件内容的权限;对目录来说,该用户具有删除、移动目录内文件的权限
  • x(执行):对文件而言,该用户具有执行文件的权限;对目录来说,该用户具有进入目录的权限。
  • -:表示该用户不具有该项权限
    | 举例 | 描述 |
    | --- | --- |
    | -rwx------ | 用户所有者对文件具有读取、写入和执行权限 |
    | -rwxr--r-- | 用户所有者具有读取、写入和执行权限,其他用户则具有读取权限 |
    | -rw-rw-r-x | 用户所有者和组群所有者对文件具有读取、写入权限,而其他用户只具有读取和执行权限 |
    | drwx--x--x | 目录的用户所有者具有读写和进入目录权限,其他用户能进入目录,却无法读取任何数据 |
    | drwx----- | 除了目录的用户所有者具有所有的权限之外,其他用户对该目录没有任何权限 |

每个用户都拥有自己的主目录,通常集中放置在/home目录下,这些主目录的默认权限为rwx------。使用以下命令查看主命令权限

[root@localhost  ~]# ls -l /home 
total 0
drwx------. 2 it       it       83 Jul 22 19:14 it
drwx------. 2 linux    li       83 Jun 11 09:42 li
drwx------. 2     1002     1002 62 Jul 20 05:06 lisi
drwx------. 2 wangwu   wangwu   62 Jul 20 05:06 opop
drwx------. 2 pp       root     62 Jul 20 05:25 pp
drwx------. 2 newuser  newuser  62 Jul 20 05:19 www
drwx------. 2 zhangsan zhangsan 62 Jul 20 05:01 zhangsan

2、基本权限的设置方法

只有系统管理员和文件/目录的所有者才可以更改文件和目录的权限,有以下两种方法

2.1 文字设定法设置权限

命令语法:chmod [操作对象] [操作符号] [权限] [文件|目录]

部分

选项

含义

操作对象

u

表示用户所有者,即文件或目录的所有者

g

表示组群的所有者,即与文件的用户所有者有相同组群GID的所有用户

o

表示其他用户

a

表示所有用户,它是系统默认值

操作符号

+

添加某个权限

-

取消某个权限

=

赋予给定权限并取消原先权限(如果有的话)

权限

r

读取权限

w

写入权限

x

可执行权限

例子:取消/root/abc的写入权限

[root@localhost  ~]# ls -l abc 
-rw-r--r--. 1 root root 282 Jul 23 18:47 abc
[root@localhost  ~]# chmod u-w abc 
[root@localhost  ~]# ls -l abc 
-r--r--r--. 1 root root 282 Jul 23 18:47 abc
2.2 数字设定法设置权限
  • 0 表示没有权限=---
  • 1 表示可执行权限=--x
  • 2 表示写入权限=-w-
  • 4 表示读取权限=r--

将以上对应权限的数字相加就是某个文件或目录的权限,例如某个文件用户所有者有读取、写入和可执行权限,数字就是700;某个文件组群所有者拥有读取权限,数字就是040;其他用户拥有读取和写入权限,数字就是006.

使用命令chmod 006 [文件或命令]=chmod 6 [文件或目录]
所有数字属性的格式应该是三个0~7的数,其顺序是u、g、o

  • r:对应数值4
  • w:对应数值2
  • x:对应数值1
  • -:对应数值0

例如,如果想让某个文件的所有者有“读/写”两种权限,需要用数字6来表示,即4(可读)+2(可写)=6(读/写) 下面几个例子说明权限字符字母转换为数字

  • -rwx------:用数字表示为700
  • -rwxr--r--:用数字表示为744
  • -rw-rw-r-x:用数字表示为665
  • drwx--x--x:用数字表示为711
  • drwx------:用数字表示为700

使用chmod更改权限 命令语法:chmod [n1n2n3] [文件|目录]

选项

含义

n1

用户所有者的权限,n1代表数字

n2

组群所有者的权限,n2代表数字

n3

其他用户的权限,n3代表数字

例如:设置abc文件权限,用户所有者拥有读取、写入和执行的权限

[root@localhost  ~]# ls -l abc 
-r--r--r--. 1 root root 282 Jul 23 18:47 abc
[root@localhost  ~]# chmod 700 abc
[root@localhost  ~]# ls -l abc 
-rwx------. 1 root root 282 Jul 23 18:47 abc

2.3设置文件和目录特殊权限
用户如果没有特殊要求,一般是不需要启用特殊权限的,以避免出现安全方面的隐患

  • SUID:对一个可执行文件,不是以发起者身份来获取资源的,而是以可执行文件的用户所有者身份来执行。
  • SGID:对一个可执行文件,不是以发起者身份来获取资源的,而是以可执行文件的组群所有者身份来执行的。
  • Sticky:对文件或目录设置Sticky之后,尽管其他用户有写权限,也必须由文件所有者执行删除和移动等操作。

因为SUID、SGID、Sticky占用x(执行权限)的位置来表示,所以在表示上会有大小写之分。加入同时开启执行权限和SUID、SGID、Sticky,则权限表示字符是小写的,如下

[root@localhost  ~]# ls -l abc 
-rwsr-sr-t. 1 root root 282 Jul 23 18:47 abc

如果关闭权限,则表示字符会变成大写,如下

[root@localhost  ~]# ls -l abc 
-rwSr-Sr-t. 1 root root 282 Jul 23 18:47 abc

2.4 特定权限的设置方法

  • 文字设置法设置特殊权限
  • 数字设定法设置特殊权限

如果设置特殊权限,必须使用四位数字才能表示,对应数值如下

  • SUID:对应数值是4
  • SGID:对应数值是2
  • Sticky:对应数值是1

例如:设置文件ah具有SUID权限

[root@localhost  ~]# ls -l ah 
-rw-r--r--. 1 root root 0 Jul 26 08:27 ah
[root@localhost  ~]# chmod 4000 ah 
[root@localhost  ~]# ls -l ah 
---S------. 1 root root 0 Jul 26 08:27 ah

例子:设置文件ah具有Sticky权限

[root@localhost  ~]# chmod 1000 ah 
[root@localhost  ~]# ls -l ah 
---------T. 1 root root 0 Jul 26 08:27 ah

例子:设置文件ah具有SUID、SGID和Sticky权限。

[root@localhost  ~]# chmod 7000 ah 
[root@localhost  ~]# ls -l ah 
---S--S--T. 1 root root 0 Jul 26 08:27 ah

2.5 更改文件和目录所有者

使用chown命令可以更改文件和目录的用户所有者和组群的所有者

命令语法:chown [选项] [用户.组群] [文件|目录] chown [选项] [用户.组群] [文件|目录]

选项

含义

-R

将下级子目录下的所有文件和目录的所有权一起更改

-h

会影响符号链接本身,而非符号链接所指示的目的地

-v

为处理的所有文件显示诊断信息

-p

不遍历任何符号链接(默认)

-L

遍历每一个遇到的通到目录的符号链接

-H

如何命令行参数是一个通到目录的符号链接,则遍历符号链接

[root@localhost  ~]# ls -l ah 
---S--S--T. 1 root root 0 Jul 26 08:27 ah
[root@localhost  ~]# chown newuser ah 
[root@localhost  ~]# ls -l ah 
------S--T. 1 newuser root 0 Jul 26 08:27 ah

例子:将文件ah的组群所有者更改成newuser

[root@localhost  ~]# chown :newuser ah 
[root@localhost  ~]# ls -l ah 
------S--T. 1 newuser newuser 0 Jul 26 08:27 ah

例子:将文件ah的组群所有者更改成newuser

[root@localhost  ~]# chown .newuser ah 
[root@localhost  ~]# ls -l ah 
------S--T. 1 newuser newuser 0 Jul 26 08:27 ah

例子:将目录/root/b连同它的下级文件/root/b/c的用户所有者和组群所有者一起更改为newuser

[root@localhost  ~]# ls -l /root/b 
total 0
-rw-r--r--. 1 root root 0 Jul 26 08:59 c
[root@localhost  ~]# ls -l /root/b/c 
-rw-r--r--. 1 root root 0 Jul 26 08:59 /root/b/c
[root@localhost  ~]# chown -R newuser.newuser /root/b 
[root@localhost  ~]# ls -ld /root/b 
drwxr-xr-x. 2 newuser newuser 15 Jul 26 08:59 /root/b
[root@localhost  ~]# ls -l /root/b/c 
-rw-r--r--. 1 newuser newuser 0 Jul 26 08:59 /root/b/c

例子:chmod -R 775 share
//-R share 目录及其子目录
//0--没有权限 1--可执行权限x 2--写入权限w 4--读取权限r
//赋予属主 可读可写可执行权限(第一个7 = 4 + 2 + 1)
//赋予属主组其他用户可读可写可执行权限(第二个7 = = 4 + 2 + 1)
//系统其他用户可读权限(5 = = 4 + 1)


标签:--,用户,Jul,详解,Linux,权限,root,localhost
From: https://blog.51cto.com/u_64214/7074279

相关文章

  • 【linux编程】用户态文件系统FUSE
       参考资料1. 自制文件系统——02开发者的福音,FUSE文件系统......
  • 第四章:用户和权限管理
    第四章:用户和权限管理用户和组的概念和管理:在Linux系统中,用户和组是管理系统访问权限和资源的重要组成部分。用户代表着系统中的个体,而组则用于组织和管理用户。以下是一些用户和组管理的基本知识:用户管理:创建用户:使用useradd命令创建新用户。例如:useraddusername删除用户:使用user......
  • Linux文件实时同步配置
    今天接到需求说要实现mysql与指定目录的文件实时双向热备,mysql的上篇已经解决,linux文件的在这篇展开讨论。Linux主机之间文件实时自动同步备份,使用rsync+inotify组合的方式来实现,避免由于硬件或者软件导致的Linux系统死机或损坏造成的损失。一、rsync+inotify简介......
  • Linux之shell脚本的循环
    一、循环语句1.1forhelpfor帮助文档foriinabc;doechohello;done[root@localhostdata]#foriinabc;doechohello;donehellohellohelloforiinabc;doecho$i;done[root@localhostdata]#foriinabc;doecho$i;doneabc[root@localhostd......
  • Linux-wget命令使用及参数详解
    wget简介Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意......
  • Linux 配置Node环境变量[通俗易懂]
    大家好,又见面了,我是你们的朋友全栈君。修改/etc/profile文件,在末尾添加以下内容exportNODE_HOME=/usr/local/node//Node所在路径exportPATH=$NODE_HOME/bin:$PATH复制修改完成后需要重新登陆才能生效,也可以执行命令source/etc/profile或者./etc/profile来生效(注意......
  • Webpack 使用详解
    Webpack是一个现代JavaScript应用程序的静态模块打包器。本文将详细介绍如何使用Webpack,以及提供代码示例。为了保持篇幅,我们将简要介绍Webpack的核心概念和功能。一、核心概念入口(entry):应用程序的起点。输出(output):打包后资源的输出位置。加载器(loader):将非JavaScript文......
  • Linux中 more/less快捷键
    空格翻页全屏导航ctrl+F-向前移动一屏ctrl+B-向后移动一屏ctrl+D-向前移动半屏ctrl+U-向后移动半屏单行导航j-向前移动一行k-向后移动一行其它导航G-移动到最后一行g-移动到第一行q/ZZ-退出less命令......
  • OpenZFS 2.2 发布 RC3,支持 Linux 6.4
    导读之前的OpenZFS2.2候选版本已致力于实现与 Linux 6.4内核的兼容性,而在2.2-rc3中,Linux6.4支持的元跟踪器已标记为已完成。OpenZFS2.2发布了第3个RC版本。之前的OpenZFS2.2候选版本已致力于实现与Linux6.4内核的兼容性,而在2.2-rc3中,Linux6.4......
  • Nexpose v6.6.210 for Linux & Windows - 漏洞扫描
    Nexposev6.6.210forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,ReleaseAug09,2023请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......