Linux 的文件权限和目录配置
1、Linux文件属性
用root用户登录linux后,执行 ls -al 命令查看文件。显示如下:
文件属性示意图如下:
第一列代表这个文件的类型和权限
第一个字符代表这个文件是:目录、文件或链接文件等。
- 若是【d】则是目录;
- 若是【-】则是文件;
- 若是【l】则表示为连接文件;
- 若是【b】则表示设备文件里的可供存储的接口设备;
- 若是【c】则表示设备文件里的串行端口设备,如鼠标、键盘等。
后面的9个字符以3个位一组,均为rwx的组合。其中r代表可读,w代表可写,x代表可执行。注意3个权限的位置不会改变,如果没有权限,就会出现减号(-)。
- 第一组 为 “文件所有者的权限”
- 第二组 为 “用户组的权限”
- 第三组 为 “其他非本用户组的权限”
第二列表示有多少文件名连接到此节点
每个文件都会将它的权限和属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录了有多少不同的文件名连接到相同的一个i-node号码。
第三列表示这个文件的“所有者账号”
第四列表示这个文件的所属的用户组
第五列为这个文件的大小,默认单位是B
第六列为这个文件的创建文件日期或者是最近的修改日期。
第7列为该文件的文件名
如果文件名之前多了一个 “.” ,则说明这个文件为“隐藏文件”,隐藏文件的list列表时,加-a参数可以显示。ls -al。
2、如何改变文件的权限和属性
- chgrp : 改变文件所属用户组
- chown : 改变文件所有者
- chmod: 改变文件的权限
2.1、改变文件所属用户组
chgrp 【-R】 dirname/filename ...
-R : 进行递归的持续更改,也连同子目录下的所有文件、目录都更新成为这个用户组之意。常常用在更改某一目录内所有文件的情况。
范例:
chgrp hy install.log : 将install.log文件的用户组改为hy用户组。注意hy用户组必须要在/etc/group 文件内存在才可以。
2.2、改变文件的所有者
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
-R:也是递归子目录。
范例:
chown bin install.log
chown root:root install.log
改变文件所有者和用户组的这两个命令的应用场景:复制文件,由于复制行为会复制执行者的属性和权限,因此复制后需要改变文件所属用户、用户组等。
2.3、改变文件的权限
文件权限有两种设置方法:数字类型改变权限和符号改变权限。
首先说明各个权限对应的数字:
- r: 4
- w: 2
- x:1
- 每种身份各自的三个权限分数是需要累加的。
- 例如:权限为(-rwxrwx---)分数分表是:
- owner = rwx = 4+ 2 + 1 = 7
- group = rwx = 4+ 2+ 1 = 7
- others = --- = 0+0 +0 = 0
- 所以在设置权限时,该文件的权限数字就是770.
1)、数字类型改变文件权限方式
命令: chmod [-R] xyz 文件或目录
xyz : 代表权限数字。如770.
-R : 进行递归的持续更改。
范例:
chmod 777 .bashrc : 将文件.bashrc这个文件的所有权限设置都启用。
2)、符号类型改变文件权限方式
使用u、g、o三个字母代表user、group、others 3中身份。此外a代表all,即所有身份。
范例:
chmod u=rwx,go=rx .bashrc
也可以增加或去除某种权限。
chmod a+w .bashrc
chmod a-x .bashrc
3、目录和文件权限的意义
3.1、权限对于文件的重要性
- r(read):可读取此文件的实际内容
- w(write):可以编辑、新增或修改文件的内容(但是不含删除该文件)
- x(execute):该文件具有可以被系统执行的权限。
3.2、文件对目录的重要性
目录的主要内容是记录文件名列表,文件名与目录有强烈的关联。
r(read):表示具有读取目录结构列表的权限,当具有读取一个目录的权限时,表示你可以查询该目录下的文件名数据,可以用ls命令将目录内容显示出来。
w(write):对目录来说是很强大的。表示你具有更改该目录结构的权限。
- 新建新的文件和目录
- 删除已存在的文件与目录
- 将已存在的文件或目录重新命名
- 转移该目录内的文件、目录位置
- 总之,目录的w权限与该目录下面的文件名变动有关就对了。
x(execute):目录的x权限代表用户是否能进入该目录成为工作目录的用途。
因此,要开放目录给任何人浏览时,应该至少也要给与r及x权限,但是w权限不可以随便给。
4、Linux文件的种类及扩展名
4.1、文件的种类
- 普通文件:纯文本文件、二进制文件、数据格式文件
- 目录
- 连接文件
- 设备与设备文件
- 套接字:数据接口文件,通常被用在网络上的数据连接。第一个属性为s,通常在/var/run 这个目录中可以看到这种文件类型。
- 管道(FIFO,pipe):它的主要目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性为p
4.2、Linux文件扩展名
基本上linux的文件是没有所谓的“扩展名”的。一个linux文件能不能被执行,与它的第一列的10个属性有关,与文件名根本没有一点关系。只要你的权限中有x的话,即代表可以被执行。但是可以被执行和可以执行成功是不一样的。能不能执行成功,需要看文件的内容。
虽然如此,我们还是希望可以通过扩展名来了解该文件是什么东西,还是会以适当的扩展名来表示该文件是什么种类的。
以下是几种常用的扩展名:
- *.sh:脚本或批处理文件。
- *Z、*.tar、*.tar.gz、*.zip、*.tgz:经过打包的压缩文件。
- *.html、*.php:网页相关文件。
- 注意:从网络上传送到linux系统中,文件的属性和权限确实会被改变。
linux系统下文件长度限制
使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度的限制为:
单一文件或目录的最大容许文件名为255个字符;
包含完整路径名称及目录(/)的完整文件名为4096个字符
5、Linux目录配置标准:FHS
因为利用linux来开发产品的团队或公司、个人实在太多了。如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。后来就有了所谓的Filesystem Hierarchy Standard (FHS) 标准了。
该标准指出,其目的主要是希望让用户可以了解到已安装的软件通常放置于哪个目录下。FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。
FHS依据文件系统使用的频繁与否和是否允许用户随意改动,而将目录定义为四种交互作用的形态。
FHS针对目录树架构仅定义出三层目录下面应该放置什么样的数据而已,分别是下面这三个目录:
- / (root,根目录):与开机系统有关
- /usr(UNIX software resource):与软件安装和执行有关
- /var(variable):与系统运作过程有关。
Linux 的文件权限和目录配置的更多相关文章
- 第六章、Linux 的文件权限与目录配置
第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...
- (转)Linux的文件权限与目录配置
ref:https://www.cnblogs.com/ysocean/p/7712412.html#_label1_0 (转)Linux文件权限和目录配置 1.Linux命令的普遍语法格式 命令格式 ...
- 第六章Linux的文件权限与目录配置
一.Linux用户分类 1.Linux用户分为:(文件|目录)所有者(OWN),(同组内的)用户组,其他人; 2.一个天神:root;,几乎能完成任何事.... 二.目录权限的意义 目录的权限和文件的 ...
- 第6章 linux的文件权限与目录配置
6.1用户与用户组 用户,自己的抽屉 用户组,自己的家 其他人(others),外人 root,天神 /etc/passwd 所有的系统上的账号与一般身份用户,root的相关信息 /etc/shado ...
- 【转】第六章、Linux 的文件权限与目录配置
原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...
- Linux 的文件权限与目录配置
用户和用户组 文件所有者 (owner) 用户组概念 (group) 其他人概念 (others) Linux文件权限概念 1. Linux文件属性 要了解Linux文件属性,那么有个重要的命令必须提 ...
- linux——(2)文件权限与目录配置
概念一:用户与用户组 对linux下的每一个文件或者目录来说,访问者都有三种身份:所有者,用户组,其他人.这三种人对于同一个文件的权限是可以分开设定的. 概念二:linux文件权限 文件和目录都有3种 ...
- 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)
******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...
- Linux的文件权限与目录配置
用户与用户组(Linux是一个多用户多任务的系统) 文件所有者 设置适当的权限,其他人无法看到自己的文件 用户组概念 属于同一个用户组的可以看到这个团体的公共信息,每个账户都可以有多个用户组的 ...
随机推荐
- 关于vue的computed、filters、watch
filters 这个属性大家可能用的不是很多 因为一般的数组过滤我们用 es6的filter就能完成了 我想到一个场景,网上买书促销 满100减50 满两百减100 <input type=&q ...
- scss/less语法以及在vue项目中的使用(转载)
1.scss与less都是css的预处理器,首先我们的明白为什么要用scss与less,因为css只是一种标记语言,其中并没有函数变量之类的,所以当写复杂的样式时必然存在局限性,不灵活,而scss与l ...
- scala_1
scala 开发spark可以使用哪些语言: Python开发45% scala % java % 一.scala的概述 java基础上代码的简化版.功能的加强版 隐式转换 高阶函数 一个函数的参数是 ...
- HCNA(华为)_DHCP篇
在大型的企业网络中,会有大量的主机或设备需要获取IP地址等网络参数.如果采用手工配置,工作量大 且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题.使用动态主机配置协DHCP 来 ...
- 利用Github免费搭建个人主页(转)
搭建过程涉及: Github注册 Github搭建博客 域名选购 绑定域名 更多 一. Github注册 在地址栏输入地址:http://github.com/join填写相关信息, 按步骤完成即可 ...
- Django网站制作根目录,巧用404,可访问根目录任意网页
原文链接:http://www.bianbingdang.com/article_detail/106.html 在制作网页过程中,网站需要格式各样的验证.比如百度站长.搜狗联盟的校验网站.不止如此, ...
- SDN网络中hypervisor带来的控制器时延(Hypervisor位置的优化)
一,问题背景 1.介绍监督器大部分由软件实现,可灵活放置,高效的SDN网络虚拟化需要复杂的技术来放置hypervisor在合适的位置,才能提供租户最佳的性能.称为k-Network Hyperviso ...
- Idea下的springboot mysql8.0等报错解决随笔
cannot load jdbc class path:mysql8.0装载失败,可能原因,驱动名称错误,连接字符串中需要加入时区UTC,否则8.0一定会报错无法连接,关闭SSL 在applicati ...
- USCiLab cereal json 序列化
cereal json 序列化 https://blog.csdn.net/sunnyloves/article/details/51373793?utm_source=blogxgwz8 http: ...
- 如何使用$.each()与$().each()以及他们的区别
1.首先,说下$.each(Arry/Object,function(index,val){ //index表示下标,val表示下标对应的值 }) 下面是使用$.each()的几种类型,其中arr2与 ...