服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux文件和文件夹权限操作方法

Linux文件和文件夹权限操作方法

2022-09-03 11:38小汉丶 Linux

这篇文章主要介绍了Linux文件和文件夹权限操作方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

linux 文件权限

首先来查看一下当前目录下的文件内容吧

ls -l    查看当前目录下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件

Linux文件和文件夹权限操作方法

我们可以看到文件的权限,-rw-rw-r--  ,一共有10位数。

其中: 最前面那个 - 代表的是类型(详细如下面贴图所示)

  1. 中间那三个 rw- 代表的是所有者(user)
  2. 然后那三个 rw- 代表的是组群(group)
  3. 最后那三个 r-- 代表的是其他人(other)

然后我再解释一下后面那9位数:

  1. r 表示文件可以被读(read)
  2. w 表示文件可以被写(write)
  3. x 表示文件可以被执行(如果它是程序的话)

- 表示相应的权限还没有被授予

文件和文件夹操作权限:

 

权限 简写 对普通文件的作用 对文件夹的作用
读取 r 查看文件内容 列出文件夹中的文件(ls)
写入 w 修改文件内容 在文件夹中删除、添加或重命名文件(夹)
执行 x 文件可以作为程序执行 cd 到文件夹

 

Linux文件和文件夹权限操作方法

Linux文件和文件夹权限操作方法

需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

补充:

特殊权限suid、sgid、sticky
在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即suid、sgid和sticky。
suid(set user id, 4):
该属性只对有执行权限的文件有效,对目录无效。执行具有suid权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有suid属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有suid属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。suid可用s表示,如:

?
1
2
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 feb 16 2014 /usr/bin/passwd

sgid(set group id, 4):
对于可执行文件,sgid与suid类似,引发的进程的所有组是程序文件所属的组。对于目录,sgid属性会使目录中新建文件的所属组与该目录相同。sgid也可以用s表示,如:

?
1
2
3
$ ls -l /var
drwxrwsr-x 2 root staff  4096 apr 10 2014 local
drwxrwxr-x 15 root syslog  4096 apr 4 19:57 log

sticky, 1:
仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用t表示。

?
1
2
$ ls -l /
drwxrwxrwt  8 root root 4096 apr 4 23:57 tmp

改文件和文件夹对应用户的操作权限

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:

方式一:二进制数字表示

Linux文件和文件夹权限操作方法

每个文件的三组权限:

  1. u 代表所有者(user)
  2. g 代表所有者所在的组群(group)
  3. o 代表其他人,但不是u和g (other)
  4. a 代表全部的人,也就是包括u,g和o
  5. 根据上图,其中:rwx也可以用数字来代替
  6. r ------------4
  7. w -----------2
  8. x ------------1
  9. - ------------0

当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:

  1. -rw------- (600) 只有所有者才有读和写的权限
  2. -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  3. -rwx------ (700) 只有所有者才有读,写,执行的权限
  4. -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  5. -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  6. -rw-rw-rw- (666) 每个人都有读写的权限
  7. -rwxrwxrwx (777) 每个人都有读写和执行的权限

上实际操作

查看了test的权限,是所有者拥有读、写、执行的权限:

Linux文件和文件夹权限操作方法

然后向文件里添加了些内容,更改了下权限(700:-rwx------),并尝试在shiyanlou(所有者)下读取文件,可以读取。

Linux文件和文件夹权限操作方法

更换到其他用户peter,如下图再尝试读取,显示是权限不够,无法读取。

Linux文件和文件夹权限操作方法

方式二:加减赋值操作

  1. u 代表所有者(user)
  2. g 代表所有者所在的组群(group)
  3. o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

在终端输入:

chmod o+w xxx.xxx
chmod o w xxx.xxx         表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx      表示删除xxx.xxx中组群和其他人的读和写的权限
chmod ug-r xxx.xxx

Linux文件和文件夹权限操作方法

Linux文件和文件夹权限操作方法

修改文件或文件夹的拥有者/所属的组

使用命令chown改变目录或文件的所有权(所有者/组)

注释:这里说的断断续续的,将在学习下一个内容(用户/组 增删改查)之后补充

文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。
我们先执行ls -l看看目录情况:

Linux文件和文件夹权限操作方法

可以看到test文件的所属用户组为root,所有者为root。
执行下面命令,把上图中test文件的所有权转移到用户peter:
# chown peter test

Linux文件和文件夹权限操作方法

要改变所属组,将test文件从root组中转移到组peter中,可使用下面命令:
# chown :peter test

Linux文件和文件夹权限操作方法

将所属的用户和组一起更改
将文件夹或文件test的拥有者修改成shiyanlou,所属的组修改成shiyanlou,如下图:

Linux文件和文件夹权限操作方法

以上所述是小编给大家介绍的linux文件和文件夹权限操作方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/zbj18314469395/article/details/79884857

延伸 · 阅读

精彩推荐
  • Linuxlinux云服务搭建七日杀服务器的详细流程

    linux云服务搭建七日杀服务器的详细流程

    这篇文章主要介绍了linux云服务搭建七日杀服务器的详细流程,本文通过实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值...

    Shiraka5902022-08-30
  • LinuxLinux中遇到device is busy的处理方法

    Linux中遇到device is busy的处理方法

    今天小编将为大家分享的是Linux中遇到device is busy的处理方法。希望对大家会有帮助,有需要的朋友一起去看看吧...

    脚本之家11442019-05-29
  • LinuxLinux用户登陆邮件提醒功能怎么设置?

    Linux用户登陆邮件提醒功能怎么设置?

    出于安全考虑,我们希望服务器在有用户通过ssh登陆时能自动向管理员发送一条邮件,通知登陆用户名和IP。这是一种不错的安全防范机制,它可以让管理员及...

    Linux教程网6082019-10-22
  • LinuxLinux使用sed命令替换字符串教程

    Linux使用sed命令替换字符串教程

    在本篇文章中小编给大家分享了关于Linux下如何使用sed命令替换字符串的相关知识点内容,有需要的朋友们学习下。...

    Linux教程网5372022-08-15
  • LinuxLinux下编译安装python3步骤

    Linux下编译安装python3步骤

    本篇文章主要介绍了Linux下编译安装python3,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    自由的web5482021-12-24
  • LinuxKali Linux 2021.3 的新改进

    Kali Linux 2021.3 的新改进

    Kali Linux 是 用于渗透测试的最佳 Linux 发行版 之一。它是基于 Debian 的,但它可能不适合替代你的成熟的桌面操作系统。最新的 2021.3 版本带来了一些重要的...

    Linux中国8732021-09-23
  • LinuxLinux系统下利用C程序输出某进程的内存占用信息

    Linux系统下利用C程序输出某进程的内存占用信息

    这篇文章主要给大家介绍了关于在Linux系统下利用C程序输出某进程的内存占用信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作...

    Linuxidc6982022-02-24
  • Linux用grep恢复误删的文本文件

    用grep恢复误删的文本文件

    作为长期的电脑使用者,肯定会有误删文件的经历,在 Mac OS X 和 Windows 上删除的文件都会默认进 回收站。 ...

    Linux教程网4222020-03-31