Linux的文件权限和目录配置

在linux中的每个用户必需属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

(1)所有者

一般为文件的创建者,谁创建了该文件,就是天然的成为该文件的所有者。

(2)所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

(3)其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

Linux文件属性





ls时list的意思,重点显示文件的文件民和相关属性, 而选项[-al]则表示列出所有文件的详细权限和属性(包括隐藏文件)

第一栏表示文件的类型和权限



其中第一个字符表示文件的目录,文件或者链接文件等等:

:d表示目录

:-表示文件

:l表示连结档(link file)

就是类似Windows系统底下的快捷方式.第一个属性为l,例如[lrwxwxrwx] ;

:b表示装置文件中的可供存储的接口设备

区块(block)设备档:就是一些储存数据,以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是。可以随机的在硬盘的不同区块读写,这种装置就是成组设备.可以自行查一下/dev/sda看看,会发现第一个属性为[b].

:c表示装置文件中的串行端口,如键盘等

字符(character)设备文件:亦即是一些串行端口的接口设备,例如键盘、鼠标等等!这些设备的特色就是「一次性读取」的,不能够截断输出。举例来说, 你不可能让鼠标「跳到」另一个画面,而是「连续性滑动」到另一个地方。第一个属性为[c]。

接下来的字符中,以三个为一组,且均为「rwxJ的三 个参数的组合。其中,[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。要注意的是, 这三个权限的位置不会改变,如果没有权限,就会出现减号[-]。

第一组为「文件拥有者可具备的权限」,以「DesktopJ 那个目录为例,该文件的拥有者可以读写可以执行;

第二组为「加入此群组之账号的权限」;

第三组为「非本人且没有加入本群组之其他账号的权限」。

第二栏表示有多少档名连结到此节点(i-node)

每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件

名来记录,因此每个档名就会连结到一个i-node哕!这个属性记录的,就是有多少不同的档名连结

到相同的一一个i-node号码去就是了。关于i-node的相关资料我们会在第七章谈到文件系统时再加强,

介绍的。

第三栏表示这个文件(或目录)的[拥有者账号]

第四栏表示这个文件的所属群组

第五栏为这个文件的容量大小,默认单位为bytes;

第六栏为这个文件的建档日期或者是最近的修改日期:

第七栏为这个文件的档名


Linux中加入群组的概念让数据的安全性提高很多

改变文件属性和权限

chgrp :改变文件所属群组

chgrp的用法是 chgrp 组名 文件名

chown :改变文件拥有者

chown的用法是 chown 用户名 文件名

一般当我们copy给别人时,本来这分文件只有我们可以读写,那么copy的文件也只有可以我们读写,所以一般用这条指令把拥有者改成接收方。

chmod :改变文件的权限,SUID, SGID, SBIT 等等的特性

数字类型改变文件权限

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,例如:文件的权限字符为:「-rwxrwxrwxJ,这九个权限是三个三个一组的。其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r :4 w: 2 x: 1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:

owner=rwx=4+2+1=7

group=rwx=4+2+1=7

others=---=0+0+0=0

所以它的权限分数就是770.

chmod用法 : chmod 权限分数 文件名

符号类型改变文件权限

九个权限分别是(1 )user (2)group(3)others三种身份。那么我们就可以藉由u,g,o来代表三种身份的权限!此外,a则代表all 亦即全部的身份!那么读写的权限就可以写成r,w,x哕!也就是可以使用底下的方式来看:



用法如下:

chmod u=rwx,g=r,o=x [文件名]

权限对文件的重要性

r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;

w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);

x (execute):该文件具有可以被系统执行的权限。

Windows底下一个文件是否具有执行的能力是藉由「扩展名」来判断的,例如: .exe, .bat,.com等

等,但是在Linux底下,我们的文件是否能被执行,则是藉由是否具有「x」这个权限来决定的!跟

档名是没有绝对的关系的!

当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限,但并不具备有删除该文件本身的权限!对于文件的rwx来说,主要都是针对「文件的内容」而言,与文件档名的存在与否没有关系喔!因为文件记录的是实际的数据嘛!

权限对目录的重要性

r (read contents in directory):

表示具有读取目录结构列表的权限,所以当你具有读取(r)-一个目录的权限时,表示你可以查询该目录下的文件名数据。所以你就可以利用ls这个指令将该目录的内容列表显示出来!

w (modify contents of directory):

这个可写入的权限对目录来说,是很了不起的!因为他表示你具有异动该目录结构列表的权限,也就是底

下这些权限:

1、建立新的文件与目录;

2、删除已经存在的文件与目录(不论该文件的权限为何! )

3、将已存在的文件或目录进行更名;

4、搬移该目录内的文件、目录位置。

x (access directory):

目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途!所谓的工作 目录(work directory)就是你目前所在的目录。举例来说,当你登入Linux时,你所 在的家目录就是你当下的工作目录。而变换目录的指令是[cd] (change directory)

总结:

鸟哥的Linux私房菜学习笔记——文件权限与目录配置的更多相关文章

  1. 鸟哥的linux私房菜学习笔记 __ 命令与文件的搜寻

    连续输入两次[tab]按键就能够知道使用者有多少命令可以下达.那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧! 范例一: ...

  2. 鸟哥的Linux私房菜学习笔记(1)

    2014/10/29 1.档案的权限管理分为三个部分: 拥有者.群组.其他 2.ls -al 命令可以看到档案的详细信息 3.档案的属性中由十个部分构成 第一个部分是档案类型 -代表档案.d代表文件夹 ...

  3. 鸟哥的linux私房菜学习记录之档案与目录管理

    绝对路径和相对路径 绝对路径就是从根目录到某个目录下的路径,从根目录写起,也就是/ 相对路径就是从用户当前目录的路径写起 目录相关操作 cd 切换路径 例如:cd /var/www 切换到/var/w ...

  4. 【鸟哥的Linux私房菜】笔记1

    Linux是什么 从操作系统与cpu架构关系到linux  Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux ...

  5. 鸟哥的linux私房菜学习-(一)优缺点分析以及主机规划与磁盘分区

    一.linux的优缺点 那干嘛要使用Linux做为我们的主机系统呢?这是因为Linux有底下这些优点: 稳定的系统:Linux本来就是基于Unix概念而发展出来的操作系统,因此,Linux具有与Uni ...

  6. 【鸟哥的Linux私房菜】笔记2

    Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...

  7. 【鸟哥的Linux私房菜】笔记3

    正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...

  8. 《鸟哥的Linux私房菜》笔记——02. 关于Linux

    Unix 历史 1969年以前:伟大的梦想--Bell, MIT 与 GE 的「Multics」系统 1969年:Ken Thompson 的小型 file server system 1973年:U ...

  9. 《鸟哥的Linux私房菜》笔记——03. 磁盘分区

    Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...

随机推荐

  1. Hangfire任务调度框架使用

    1.HangFire简介 HangFire是一个免费简单实用的分布式后台定时调度服务,在现在.net开发中,人气算是很高的. HangFire提供了内置集成化的控制台,可以直观明了的查看作业调度情况, ...

  2. python requests发起请求,报“Max retries exceeded with url”

    需要高频率重复调用一个接口,偶尔会出现"Max retries exceeded with url" 在使用requests多次访问同一个ip时,尤其是在高频率访问下,http连接 ...

  3. Flask_获取请求信息(三)

    引用request的方法: from flask import request 与Django不同的是,flask是不需要将request对象作为第一个参数传入视图函数,他的request对象是来自于 ...

  4. Linux下配置GitHub

    一.注册GitHub账号 二.在linux命令行输入 git config --global user.name "YOUR NAME" #配置github账号 git confi ...

  5. 学习笔记--Java字面值

    Java 字面值 /** * 关于字面值: * * - 字面值:10.100."abc"."a".true.false * * - 字面值就是数据 * * - ...

  6. JS里默认和常用转换

    * { font-family: PingFang, Monaco } JS里的六大简单数据类型 string 字符类型 number 数字类型 boolean 布尔类型 symbol ES6语法新增 ...

  7. C\C++ IDE 比较以及调试

    C\C++ IDE 比较以及调试 内容概要 这个作业属于哪个课程 2022面向对象程序设计 这个作业要求在哪里 2022面向对象程序设计寒假作业1 这个作业的目标 IDE 选择以及代码调试 作业正文 ...

  8. 安装DataX的管理控制台(转)

    原文地址 https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md 环境准备 1)基础 ...

  9. 【vps】Centos 7安装python3.8.5

    [vps]Centos 7安装python3.8.5 前言 由于服务器的搬迁,从香港搬到了大陆,原来的香港服务器即将到期,所以趁着大陆服务器在备案的时候,将新服务器的配置先配置一下.这篇文章就是分享C ...

  10. SSM框架——thymeleaf学习总结

    本人关于thymeleaf的学习源自: https://www.bilibili.com/video/BV1qy4y117qi 1.thymeleaf的项目搭建 首先创建springboot项目,相关 ...