一个文件的权限对于系统的安全来说是很重要的,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关于文件的那些事儿的更多相关文章

  1. 说说Linux文件权限那些事儿

    文件全部权 显示文件的全部权 更改文件的全部权 文件的权限 改动文件的权限 用符号表示法改动 用数字表示法改动 使用umask指定默认的文件权限 參考文献 首先我们要知道Linux的标准文件权限和安全 ...

  2. Linux下文件的三种时间戳

    Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...

  3. linux日志文件

    linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的 ...

  4. linux建立文件夹软连接

    linux建立文件夹软连接,并强制覆盖 ln -sfn /home/var/log/httpd/logs logs 这将在当前目录下建立logs软连接,指向/home/var/log/httpd/lo ...

  5. windows与linux之间文件的传输方式总结(转)

    当然,windows与linux之间文件的传输的两种方式有很多,这里就仅仅列出工作中遇到的,作为笔记: 方法一:安装SSH Secure Shell Client客户端 安装即可登录直接拖拉到linu ...

  6. Linux - 日志文件

    Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...

  7. linux下文件结束符

    linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...

  8. Linux查看文件编码格式及文件编码转换

    Linux查看文件编码格式及文件编码转换   如果你需要在Linux 中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而L ...

  9. (转载)使用 udev 高效、动态地管理 Linux 设备文件

    概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等.通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是 ...

随机推荐

  1. Monkey测试1——Monkey的使用

    Monkey工具使用 一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实 ...

  2. orcl的小技巧和分页

    1Oracle中查看所有用户语句 select * from dba_users 1.修改用户的密码 alter user 用户名 identified by 密码; 2.如何查询stuInfo表中自 ...

  3. Linux IO函数的使用和区别

    Linux系统中的IO函数主要有read.write.recv.send.recvmsg.sendmsg.readv.writev,本篇主要介绍他们的使用以及区别. read函数: #include ...

  4. Type.js – 帮助你更好的控制网页字体排版

    Type.js 是一款很好的网页字体排版工具.它可以让你使用新的 CSS 属性,在网页上试下更精细的排版控制.设置很简单.上传 type.js 到您的网站,并在你的 HTML 链接中引用.接下来,你就 ...

  5. 前端上传组件Plupload使用指南

    我之前写过一篇文章<文件上传利器SWFUpload使用指南>,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SW ...

  6. CSS3简单动画

    css3的动画确实非常绚丽!浏览器兼容性很重要!. 分享两个小动画 <!doctype html> <html lang="en"> <head> ...

  7. html5音频和视频标签

    在html5之前的版本中如果想要在网页中插入音频和视频必须要安装插件才可以,比如最常见的flash插件.很多人在刚安装一款浏览器的时候都会遇到浏览器建议安装flash插件,在移动端也是如此.如果想要在 ...

  8. iOS 适配iOS9

    1.网络接口不支持https协议,在iOS9下 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据. 解决方案(以下方法2选1): (1)暂时退回到http协议 ...

  9. 兼容Android的水波纹效果

    Android的水波纹效果只有高版本才有,我们希望自己的应用在低版本用低版本的阴影,高版本用水波纹,这怎么做呢?其实,只要分drawable和drawablev21两个文件夹就好了. 普通情况下的se ...

  10. Java Android HTTP实现总结

    Java Android HTTP实现总结 Http(Hypertext Transfer Protocol)超文本传输协议,是一个基于请求/响应模式的无状态的协议,Http1.1版给出了持续连接的机 ...