Linux 文件权限的详细介绍

Linux 的优秀之处就在于它的多用户、多任务的系统。Linux 一般将文件可存取访问的身份分为 3 个类别,分别是 owner、group、others,且 3 种身份各有 read、write、execute 等权限。

权限的三种身份

文件所有者(owner)

用户级别的文件权限,通常为文件的创建者,可以通过 chown 修改文件所有者。

用户组(group)

如果把用户组比作团队,用户就是其中的成员,团队中的队员对于该文件都有相同的权限。可以通过 chgrp 修改文件的用户组。

用户组最有用的功能之一,就是在团队开发资源的时候。两个项目 project1 和 project2 由两个团队开发,则分别给项目分配用户组权限1、2,然后上司同时支持1、2 权限,即:每个账号都可以有多个用户组的支持。

其他人(others)

不是文件所有者而且不属于文件的用户组,就是其他人。

文件权限

定义及查看

在服务器中执行命令以下命令,查看文件相关的信息:

[root@iz2zedcscvry6t0psspzswz ~]# ls -al
total 44
dr-xr-x---. 5 root root 4096 Sep 9 12:11 .
dr-xr-xr-x. 18 root root 4096 Sep 9 12:39 ..
-rw-r--r--. 1 root root  18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwx------  3 root root 4096 Oct 15 2017 .cache
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x  2 root root 4096 Oct 15 2017 .pip
-rw-r--r--  1 root root  64 Oct 15 2017 .pydistutils.cfg
drwx------  2 root root 4096 Sep 9 12:11 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc

以下示例,展示了每一列对应的含义:

文件权限     连接数  文件所有者  用户组   文件大小  修改日期        文件名
drwxr-xr-x   2      root     root    4096    Oct 15  2017   .pip

文件权限部分,drwxr-xr-x 第一个字母代表文件类型,这里的 d 代表目录(directory)。d = 目录, - = 文件, l = 链接文件(linkfile)。

后面以 3 个为一组,第一组 rwx 代表文件所有者权限,第二组 r-x 代表用户组权限,第三组 r-x 代表其他用户权限。

示例中的文件,文件所有者 root 有读写可执行权限,root 用户组的用户有读和可执行权限,其他用户有读和可执行权限。

  • 查看文件创建或修改的具体的日期 : ls -al --full-time
  • 查看 ls 的详细用法: man ls 或 info ls

修改文件权限

  • chgrp(change group):改变文件所属用户组
  • chown(change owner):改变文件所有者
  • chmod(change mod):修改文件的权限

修改用户组

chgrp [-R] dirname/filename

# 将 install.log 的用户组修改为 users
chgrp users install.log

修改文件所有者

chown 可以同时修改文件所属的用户组

chown [-R] 账号名称:组名 文件或目录

# 将 install.log 的用户组和所有者改为 root
chown root:root install.log

改变文件权限

权重分配: r:4 w:2 r:1

# 将文件权限设置为 -rwxr-xr

chmod 754 filename

# 设置一个可执行文件,不让其他人修改

chmod 755 filename # -rwxr-xr-x

符号类型改变文件权限

命令 身份 操作 文件
chmod u g o a +(加入) -(除去) =(设置) r w x 文件或目录

身份解释: u = user, g = group,o = other, a = all

# 让文件拥有执行权限,但不知道原权限
chmod a+x filename

目录与文件的权限意义

Linux 文件是否被执行由 "x" 的权限决定,跟文件名没有绝对的关系。

文件是存放实际数据的所在,目录主要的内容是记录文件名列表。

文件的权限解释

  • r:可以读取文件内容
  • w:可以编辑文件内容
  • x:文件具有被系统执行的权限

目录的权限解释

  • r:查询该目录下的文件名数据(可以用 ls)
  • w:新建、删除、重命名、转义
  • x:能否进入该目录

权限的配置文件

  • 账号信息: /etc/passwd
  • 个人的密码:/etc/shadow
  • 组名:/etc/group

【综合案例】

【题1.1】建立两个用户组group1和group2,以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1用户组下,后一个分配在group2用户组下

【题1.2】以dennis用户登录,创建一个Hello.java文件

【题1.3】以daniel用户登录,观察是否可以访问/home/dennis目录以及读或写其创建的Hello.java文件

【题1.4】以dennis用户登录,修改目录/home/dennis及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

【题1.5】重复【题1.3】

【题1.6】改变abigale的用户组由group2变为group1

然后,可以使用cat/etc/passwd查看并确定

【参考】

-groupadd组名,在linux中添加组

-vi/etc/group,查看linux中所有组信息,可以看可以编辑

-cat/etc/group,查看linux中所有组信息,只可以看不可以编辑

-useradd‐g组名用户名,创建用户的同时指定将该用户分配到哪个组下

-vi/etc/passwd,查看linux中所有用户信息,可以看可以编辑

-cat/etc/passwd,查看linux中所有用户信息,只可以看不可以编辑

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux下修改文件权限(所有权)

    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的所有者,通常有所有的文件的操作权限 用户组(g)是多个用户的集合,可能有文件的部分访问权,相当于各用户之间的共享文件 其他(o)是指文件所有者和用户组成员之外的任何人 使用ls -l可以显示出当前目录下的文件类型,权限,所有者以及组在内的多方面信息: 第一列含义为:-(filetype)---(us

  • Linux 下目录文件权限(命令)的查看和修改

    Linux 下目录文件权限的查看和修改 在我的服务器下面有这几个文件夹 同时用ls -l也可以查看到这几个文件的权限. 看其中的assets文件一共有十位数,其中: 最前面那个 - 代表的是类型 中间那三个 rwx 代表的是所有者(user)拥有的权限 然后那三个 rwx 代表的是组群(group)拥有的权限 最后那三个 rwx 代表的是其他人(other)拥有的权限 r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话) -表示相应的权

  • 修改linux文件权限命令:chmod命令详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作.可执行权限表示允许将该文件作为一个程序执行.文件被创建时,文件所有者自动拥有对该文件的读.写和可执行权限,以便于对文件的阅读和修改.用户也可根据需要把访问权限设置为需要的任何组合. 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户.其他用户.所有者一般是文件的

  • linux文件上传,给文件或目录添加apache权限的方法

    在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告: 1. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file

  • linux文件目录默认权限(详解)

    1.文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2.由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umask命令: [123@123 ~]$ umask           //数字方式显示 0022 [123@123 ~]$ umask -S        //符号方式显示 u=rwx,g=rx,o=rx以数字范式显示有4个数字,只看后3个即可,第一个为特殊权限使用 [123@123 ~]$ touc

  • Linux文件权限与目录管理详解

    一.Linux文件系统的三种身份 1).文件所有者 2).同组用户 同一个用户组的用户可以访问该用户组的文件: 每个账号可以加入多个用户组. 在同一个用户组的文件也可以设置不同的权限,可以不让本组用户查看. 3).其他人 除了文件主.同组用户以外的人就是其他人. PS: /etc/passwd 记录所有用户的账号 /etc/shadow 记录所有用户的密码 /etc/group 记录所有的组名 二.文件属性 ls -al 显示所有的文件名和相关属性(包括以.开头的隐藏文件) total 72 d

  • Linux 文件和目录权限详细介绍

    Linux文件和目录权限解读 如何设置Linxu文件和目录的权限 字符表示法   1)ls -l:查看所在目录所有文件的权限 2)chmod u=r file:把file文件的当前(用户user)的权限赋值为可写模式 3)chmod g=wrx file:把file文件的当前(组gruop)的权限赋值为可写,可读,可执行模式 4)chmod g-x file:把file文件的当前(组group)的权限减去可执行模式 5)chmod o+w file:把file文件的当前(所有人other)的权限

  • 详解如何备份及恢复 Linux 文件权限

    你可能听说或碰到过这样的事情:一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我们有许多工具可以用来备份文件权限,如cp.rsync.etckeeper等.如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题. 但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限:或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作.在这些

  • Linux 文件权限的详细介绍

    Linux 的优秀之处就在于它的多用户.多任务的系统.Linux 一般将文件可存取访问的身份分为 3 个类别,分别是 owner.group.others,且 3 种身份各有 read.write.execute 等权限. 权限的三种身份 文件所有者(owner) 用户级别的文件权限,通常为文件的创建者,可以通过 chown 修改文件所有者. 用户组(group) 如果把用户组比作团队,用户就是其中的成员,团队中的队员对于该文件都有相同的权限.可以通过 chgrp 修改文件的用户组. 用户组最有

  • linux防墙iptables详细介绍、配置方法与案例

    1.1 iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的**基于包过滤的防火墙工具**,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制.特别是它可以在一台非常低的硬件配置下跑的非常好 Iptables是Linux2.4及2.6内核中集成的服务.其功能与安全性比其**ipfwadm,ipchains**强大的多,iptables主要工作在OSI七层的二.三.四层,

  • linux配置主机名详细介绍

    目录 1. 配置Linux hostname 配置client主机 配置server主机 2. 配置hostname与IP映射 3. 测试 4. 配置windows hosts 5. windows测试 1. 配置Linux hostname 下面配置两台centos7 虚拟机,主机名分别配置为client和server,它们主机IP 地址分别为192.168.30.8和192.168.30.9. 配置client主机 [root@client ~]# vi /etc/sysconfig/net

  • Linux系统运行级别详细介绍

    目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默认有7个运行级别,Linux 系统任何时候都运行在一个指定的运行级别上.不同的运行级别所运行的程序和服务不尽相同,所要完成的工作和要达到的目的也不相同. 0:关机. 1:单用户模式,可以想象为Windows系统的安全模式,主要用于系统修复. 2:不完全的命令行模式(命令行模式就是命令界面),不含NF

  • Android11文件管理权限申请详细介绍

    目录 Android 11文件管理权限申请 Android 11和低版本的存储权限结合 工具类封装 Android 11申请管理所有文件权限的Bug Android 11文件管理权限申请 Android 11文件管理权限申请,为什么需要这个权限,因为在Android 11后,无法直接在SDcard根目录写文件,Android 11之后要使用分区存储,但是分区存储使用起来很麻烦,所以可以申请文件管理权限,这样就可以随意读写SDcard了,写到根目录也没问题. 清单文件声明如下: <?xml ver

  • Linux系统中日志详细介绍

    目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工作中的需求,rsyslogd服务支持的功能更加丰富. rsyslogd服务相比syslogd服务具有一些新的特点: 基于TCP网络协议传输日志信息. 更安全的网络传输方式. 有日志消息的及时分析框架. 后台数据库.配置文件中可以写简单的逻辑判断. 与syslog配置文件相兼容. 2.系统中常见的日志

  • Hibernate 主清单文件配制的详细介绍

    Hibernate 主清单文件配制的详细介绍 1 Hiernate 清单配制文件 方式一 在工程src目录下创建 hibernate.cfg.xml 文件 Hiernate 开始加载时,会默认的方式去工程src目录下扫描 hibernate.cfg.xml文件,然后加载配制 public class H3Utils { private static SessionFactory factory = new Configuration().configure().buildSessionFacto

  • Linux备份及恢复及Linux文件权限详解

    Linux备份及恢复及Linux文件权限详解 概述 一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我们有许多工具可以用来备份文件权限,如cp.rsync.etckeeper等.如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题. 但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限:或是正在排除文件权限问题的过程中需要对文件进行ch

  • Android11及以上文件读写权限申请详细介绍

    目录 Android11 读写权限申请 AndroidManifest添加权限设置 代码申请动态权限 Android11申请权限 补充:Android 11 及以上申请外部存储权限 总结 Android11 读写权限申请 Android11系统对应用写入权限做了严格的限制.本文介绍如何获取文件读写权限.项目中 build.gradle 的targetSdkVersion >= 29 ,会出现读写问题. 当targetSdkVersion = 29,通过设置requestLegacyExterna

  • Linux系统配置(服务控制)详细介绍

    目录 前言 一.系统服务控制 1.systemctl 2.target 3.常见系统服务 4.开机自启服务管理 二.服务管理 1.防火墙与核心防护 2.时间管理 3.SSH服务 结语 前言 Linux操作系统中包含了大量的服务程序,这些服务程序在切换运行级别时根据预设的状态进行启动或终止,其中有不少系统服务可能并不是用户需要的,但是默认也运行了 一.系统服务控制 1.systemctl 在CentOS系统中,各种系统服务的控制脚本默认放在usr/lib/systemd目录下,通过systemct

随机推荐