Linux日记Day3---Linux的文件属性与目录配置
Linux最优秀的地方之一,就在于它的多用户、多任务环境。为了让用户具有较安全的管理机制,文件的权限管理是很重要的。Linux通常将文件的访问方式分为分为三个类别,分别是owner/group/other,而且具有read/write/excute等权限。在Linux下面这么多的目录/文件,到底代表什么意义呢?下面我们就来一一介绍。
一、用户与用户组
1. 文件拥有者(用户)
由于Linux是多用户、多任务的系统,可能常常会多人同时使用主机工作,考虑到每个人的隐私权以及每个人喜好的工作环境,“文件拥有者”(owner)就相当重要了。例如,将电子邮件转存为文件后,放在你自己的主文件夹下,这个时候,就把该文件设置成“只有文件拥有者,才能查看与修改这个文件的内容”。即使其他人知道您拥有这个文件,但由于该文件设置了适当的权限,他们也无法知道该文件的内容。
2. 用户组
用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。
首先说明一点:文件所有者与用户组本身没有什么关系,比如用户组可以是root,但是文件所有者为user1;
案例分析:
(1)一个文件的文件所有者为user1,用户组为root,当前登录用户为user1,
如果想要让文件的所有者变成root,能成功吗?不能;
(2)一个文件的文件所有者为user1,用户组为root,当前登录用户为root,
如果想要让文件的所有者变成root,能成功吗?能;
总结一点:改文件的所有者、用户组应该是root用户的职责;
再说明一点:一个用户总会归属于一个或多个用户组,一个用户组里可以有多个用户,比如root用户归属于root用户组,但是我们也可以创建一个用户user1,既归属于group1用户组,又归属于group2用户组;
3. 其他人
在Linux中,任何一个文件都具有“用户、用户组和其他人”三个权限。我们可以用图1.1来解释。此时,以图中的王三毛为例,王三毛这个“文件”的拥有者为王三毛,它属于王大毛这个用户组,而张小猪相对于王三毛,则只是一个其他人而已。
图 1.1
解释:root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。
二、Linux文件权限
1. Linux文件属性
打开终端,执行ls命令,查询文件信息如下图所示
注:“连接”的含义:指占用的节点(i-node即I节点),新建的目录其下含有“.和..”两个目录,连接为2,再新增子目录,会依次增加连接数,但增加的文件不会增加连接数。
2. Linux 文件权限属性
范例:若有一个文件的属性为“-rwxr-xr—”,注意下面的数字表示第几位,不表示权限编码。
说明如下: [-] [r w x] [r - x] [r - -]
1 2 3 4 5 6 7 8 9 0
1:表示这个文件名为目录或文件(上面为文件)。
234:拥有者的权限(上面为可读、可写、可执行)。
567:同用户组用户权限(上面为可读、可执行)。
890:其他用户权限(上面为仅可读)。
(1) 上面的属性情况表示一个文件、这个文件的拥有者可读、可写、可执行。但同用户组的人仅可读与执行。非同用户组的用户仅可读的意思。
(2) 除此之外,需要特别注意的是x。若文件名为一个目录的时候,x与目录的关系相当重要,如果在该目录下不能执行任何命令的话,那么自然也就无法进入了,因此,请特别注意,如果想要开放某个目录让一些人进来的话,请记住,开放该目录的x属性。至于目录的权限相关说明,我们会在下面继续介绍。
3. 更改文件权限
3.1 文件权限三剑客:chgrp , chown , chmod
·chgrp 更改所属组:chgrp [-R] 组名 DIR/FILE(-R 递归子目录下所有文件、目录都更新成此组):
把DIR或FILE给组名
·chown 更改所有者:chown [选项] 用户[ . 组] file/dir :
选项:-V 显示chown命令所做工作。
-R 同上,句点可用“:”代替
·chmod 更改权限:chmod [-R]nnn 文件或目录
注意:shell 文件用VI编辑后,权限会改变,需要更改权限。
3.2 修改权限的方式
文件属性的改变使用chmod命令,但是,属性的设置方法有两种,分别可以使用数字或者是符号。
(1) 数字类型改变文件权限
Linux文件的基本属性有9个,分别是owner/group/others,组别的read/write/ excute属性,先复习一下刚刚上面提到的数据:
–rwx rwx rwx
这9个属性是三个一组。其中,可以使用数字来表示各个属性,各属性的对照表如下:
权限代表数: r→4; w→2; x→1
同一组(owner/group/others)的3个属性(r/w/x)是需要累加的,例如当属性为 [-rwxrwx---] 则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
所以,等一下设置属性的更改时,该属性的数字就是770。
更改属性的命令chmod的语法是这样的:
[root@linux ~]# chmod [-R]xyz 文件或目录
参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组。常常用在更改某一目录的情况。
(2) 符号类型改变文件权限
还有一个改变属性的方法。从之前的介绍中可以发现,基本上就9个属性,分别是 (1)user (2)group (3)others三组。我们就可以通过u, g, o来表示三组的属性。此外,a表示all,即全部的三组。读写属性可以写成r, w, x。也就是可以使用下面的方式来看:
假如我们要“设置”一个文件的属性为“- rwx r-x r-x”,基本上就是:
user (u):具有可读、可写、可执行的权限。
group与others (g/o):具有可读与执行的权限。
所以就是: chmod u=rwx,go=rx .bashrc
# 注意。那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格。
Linux日记Day3---Linux的文件属性与目录配置的更多相关文章
- Linux学习笔记之档案权限与目录配置
一. 档案权限与目录配置用户的属性信息: /etc/passwd用户的密码信息: /etc/shadow组的信息: /etc/group 每个用户都有唯一的UID供系统识别sudo -i 输入 ...
- 【转】第六章、Linux 的文件权限与目录配置
原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...
- 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)
******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...
- Linux 目录配置
一.Linux 目录配置标准:FHS FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. FHS依据文件系统使用的频繁与否 ...
- 攻城狮在路上(叁)Linux(十一)--- 用户与用户组、文件权限、目录配置
一.用户与用户组: 3个概念:文件所有者(user).用户组(group).其他人(others). /etc/passwd <==存放所有的用户名 /etc/shadow <==存放 ...
- 【Linux笔记】Linux目录结构
[Linux笔记]Linux目录结构 本文内容整理自网络,以作参考. /:根目录,位于linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib ...
- CentOS(七)--Linux文件类型及目录配置
这篇随笔将会对Linux系统的文件类型以及Linux的目录结构进行详细补充(linux中目录管理和权限非常重要,特别是在linux安装数据库类软件). 一.Linux更改文件权限的两种方式 在之前的一 ...
- Linux档案权限与目录配置
一.档案权限: Linux 最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变的很重要了. Linux 一般将档案可存取的身份分为三个类别,分别 ...
- Linux 下的权限改变与目录配置
Linux 下的权限改变与目录配置 ./代表本目录的意思. (1):用户与用户组, 1:文件所有者,文件被某一用户所有 2:用户组: 对文件给与一个或者多个用户权限配置 3:其它人: (2):l ...
随机推荐
- springcloud 入门 1 (浅谈版本关系)
SpringCloud: 参考官网:https://projects.spring.io/spring-cloud/ 中文版 https://springclou ...
- LeetCode题解之Remove Nth Node From End of List
1.题目描述 2.问题分析 直接计算,操作. 3.代码 ListNode* removeNthFromEnd(ListNode* head, int n) { if (head == NULL) re ...
- 七牛云A账号数据迁移到B账号下
1,七牛云A账号下开启空间授权,可以让B账号可以访问A账号下的空间,,授予权限只读即可. 2,下载七牛云命令行工具.(通过命令完成数据迁移) https://dn-devtools.qbox.me/2 ...
- SqlServer数据库设计一个字段的值是由其他字段运算结果所得
最近在做项目时,发现数据库的一些字段不能执行sql语句进行修改,仔细观察才发现,它是由其他字段运算结果所得.这样就不需程序员通过代码执行运算结果更新数据库,感觉很实用,而网上教材好像还挺少的,所以把教 ...
- Oracle EBS 创建 RMA
DECLARE l_api_version_number NUMBER := 1; l_return_status VARCHAR2(2000); l_msg_count NUMBER; l_msg_ ...
- [POWERSHELL] [.net 3.5] [Windows Server] 在Windows Server上安装.NET3.5
Install-WindowsFeature Net-Framework-Core -source \\network\share\sxs
- centos7 安装ldap
ldap首先我们要知道这个ldap的概念, LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写 目录是一个为查询.浏览和搜索而优化的专业分布 ...
- python基础学习10----集合
集合具有无序性,互异性 一.集合的建立 空集合 s=set() s={}#这样默认为是一个空字典 集合内的元素是可哈希的即不可变的数据类型 s={1,2,3,4} s=set([1,2,3,4]) s ...
- 【汇编】SI DI 的用法
一.汇编语言中,为什么SI和DI不能同时使用汇编 其实你可以想一下,这两个寄存器的意思,SI源变址寄存器,DI目地变址寄存器,既然是变址寄存器,那么他们肯定是在某个地址的基础上进行偏移变化,由此我们就 ...
- 读高性能JavaScript编程 第一章
草草的看完第一章,虽然看的是译文也是感觉涨姿势了, 我来总结一下: 由于 大多数浏览器都是 single process 处理 ui updatas and js execute 于是产生问题: js ...