linux关于文件的那些事儿
一个文件的权限对于系统的安全来说是很重要的,linux是一个支持多任务多用户的系统,我们都不希望一些自己的文件被别人看到或者修改!
对于一个文件的权限我们可以用 ls -l 命令来查看,例如:
[root@localhost /]# touch .php #创建一个1.php文件 这里使用的root账户
[root@localhost /]# ls -l .php
-rw-r--r-- 1 root root 0 10月 : .php
出来的结果可以看到分成了7个部分
第一部分[-rw-r--r--]代表的是文件的类型和文件的权限
这里又可以分为四个部分[-][rw-][r--][r--]
1 2 3 4
1、[-]代表这是一个文件:
[-] 文件
[d] 目录
[l] 链接
[b] 可存取硬件设备
[c] 串型端口设备
2、[rw-]代表的是文件拥有者(user)权限
3、[r--]代表的是组(group)权限
4、[r--]代表的是其他用户(other)权限
[r] 可读
[w] 可写
[x] 可执行
[-] 空
拿文件拥有者的权限[rw-]来说 就是拥有了可读写权限但是没有课执行权限
第二部分[1] 链接
与链接文件有关
第三部分[root] 文件拥有者
这里的文件拥有者为root,因为我们使用root账户来创建的该文件
第四部分[root] 组
代表了文件所属的组,这里为root组,组里的所有用户对该文件都拥有给定的权限
第五部分[0] 文件的大小
第六部分[10月 13 13:16 ] 最后修改日期
第七部分[1.php] 文件的名称
修改文件的权限
使用chmod命令可以修改文件的权限,上面提到文件的权限有三种分别是user,group,other
我们现在给1.php文件加上other的写入权限:
[root@localhost /]# chmod o+w .php #[u=user g=group o=other a=all ][w=写入权限 r=读权限 x=执行权限][+是添加权限 -是删除权限]这里后面也可以加目录,这样就是直接给目录加上了权限
[root@localhost /]# ls -l .php
-rw-r--rw- root root 10月 : .php
可以看到写入的权限已经加上了,这里提一下文件的权限只有文件的拥有者和root可以修改!
修改文件的拥有者
使用chown命令,文件的拥有者必须为系统中存在的用户
现在将文件的拥有者改为cooleyes(存在),和dagege(不存在)试试:
[root@localhost /]# chown cooleyes .php
[root@localhost /]# ls -l .php
-rw-r--rw- cooleyes root 10月 : .php
[root@localhost /]# chown dagege .php
chown: 无效的用户: "dagege"
当我们将文件的拥有者改为cooleyes时命令生效并且成功了,而当我我们将拥有者改为一个系统不存在的用户dagege时系统提示我们没有这个用户
这里提示一下root账户可以修改任何文件的权限,拥有者,组,但是普通用户只能将文件的拥有者改成自己所在组的用户。
修改文件的所属组
使用chgrp命令,文件的所属组也必须是系统中存在的组
现在将文件的所属组改为cooleyes(存在),和dagege(不存在)试试:
[root@localhost /]# chgrp cooleyes .php
[root@localhost /]# ls -l .php
-rw-r--rw- cooleyes cooleyes 10月 : .php
[root@localhost /]# chgrp dagege .php
chgrp: 无效的组:"dagege"
可见chgrp命令和chown命令操作都需要系统存在所需的用户和组,普通用户只能将文件的所属组修改为自己所在的组(用户可以同时存在多个组中)
最后说几句
还有一点 chown命令可以同时修改文件的用户和组
比如现在将文件的拥有者和所属组还原:
[root@localhost /]# chown root:root .php #用户和组用分号隔开
[root@localhost /]# ls -l .php
-rw-r--rw- root root 10月 : .php
感觉很实用呢! chmod chgrp chown这三个命令的作用可不止真么简单 man chmod可以让我们查看到更多的作用,这里就因为实在太多这里就不举例了!
linux关于文件的那些事儿的更多相关文章
- 说说Linux文件权限那些事儿
文件全部权 显示文件的全部权 更改文件的全部权 文件的权限 改动文件的权限 用符号表示法改动 用数字表示法改动 使用umask指定默认的文件权限 參考文献 首先我们要知道Linux的标准文件权限和安全 ...
- Linux下文件的三种时间戳
Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...
- linux日志文件
linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的 ...
- linux建立文件夹软连接
linux建立文件夹软连接,并强制覆盖 ln -sfn /home/var/log/httpd/logs logs 这将在当前目录下建立logs软连接,指向/home/var/log/httpd/lo ...
- windows与linux之间文件的传输方式总结(转)
当然,windows与linux之间文件的传输的两种方式有很多,这里就仅仅列出工作中遇到的,作为笔记: 方法一:安装SSH Secure Shell Client客户端 安装即可登录直接拖拉到linu ...
- Linux - 日志文件
Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...
- linux下文件结束符
linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...
- Linux查看文件编码格式及文件编码转换
Linux查看文件编码格式及文件编码转换 如果你需要在Linux 中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而L ...
- (转载)使用 udev 高效、动态地管理 Linux 设备文件
概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等.通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是 ...
随机推荐
- [javaSE] 反射-动态加载类
Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 Ⅰ所有的new对象都是静态加载 ...
- MySQL max_allowed_packet设置及问题
MySQL根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败. 查看目前配置 show VARIABLES like ...
- linux基础知识总结
使用linux将近一年了,一直都没有时间来总结一下,借着最近在整理知识框架的机会总结一下linux的应用知识. 1.linux有两个目录很特殊,一个是~,另一个是/.两个目录的含义不一样,/是系统 ...
- GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]
Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手 粘贴时有一个版权问题 本文原 ...
- CSS3盒模型温故
CSS有一种基础设计模式叫盒模型,定义了Web页面中的元素是如何看做盒子来解析的.每一个盒子有不同的展示界面,下面就来介绍盒模型,主要有一下几种盒模型:inline.inline-block.bloc ...
- JavaScript中对象的比较
Javascript中有'=='和'==='两种相等比较,后者是全等,会判断数据类型,前者是相等,在比较时,会发生隐式转换. 如果将两个对象做'=='比较,结果会如何呢? 比如有如下两个对象: var ...
- 提高CSS文件可维护性的五种方法
当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节.然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护工作,而这些工作也许不会是你自己完成.所以,结构优良的代码能很大程度上优化它的可 ...
- SharePoint 开启网站匿名访问图文详解
SharePoint 开启网站匿名,需要先开启web application的匿名访问,然后开启site的匿名访问.特别的,site可以选择整个网站开启或者列表和库开启匿名,如果选择列表和库开启匿名, ...
- yum源的配置(centos6.5)
# cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo.bak # wget http://mirrors.163.com/.hel ...
- Convert.ChangeType不能处理Nullable类型的解决办法
在做一个ORMapping功能的时候发现,Convert.ChangeType不能处理nullable类型,比如int?. 解决办法也很简单,贴出完整的代码(大部分代码来自网络),注意下面代码没经过完 ...