zoukankan      html  css  js  c++  java
  • linux关于文件的那些事儿

    一个文件的权限对于系统的安全来说是很重要的,linux是一个支持多任务多用户的系统,我们都不希望一些自己的文件被别人看到或者修改!

    对于一个文件的权限我们可以用 ls -l 命令来查看,例如:

    [root@localhost /]# touch 1.php  #创建一个1.php文件 这里使用的root账户
    [root@localhost /]# ls -l 1.php  
    -rw-r--r-- 1 root root 0 10月 13 13:16 1.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 1.php   #[u=user g=group o=other a=all ][w=写入权限 r=读权限 x=执行权限][+是添加权限 -是删除权限]这里后面也可以加目录,这样就是直接给目录加上了权限
    [root@localhost /]# ls -l 1.php 
    -rw-r--rw- 1 root root 0 10月 13 16:00 1.php

    可以看到写入的权限已经加上了,这里提一下文件的权限只有文件的拥有者和root可以修改!

    修改文件的拥有者

    使用chown命令,文件的拥有者必须为系统中存在的用户

    现在将文件的拥有者改为cooleyes(存在),和dagege(不存在)试试:

    [root@localhost /]# chown cooleyes 1.php
    [root@localhost /]# ls -l 1.php 
    -rw-r--rw- 1 cooleyes root 0 10月 13 16:00 1.php
    [root@localhost /]# chown dagege 1.php 
    chown: 无效的用户: "dagege"

    当我们将文件的拥有者改为cooleyes时命令生效并且成功了,而当我我们将拥有者改为一个系统不存在的用户dagege时系统提示我们没有这个用户

    这里提示一下root账户可以修改任何文件的权限,拥有者,组,但是普通用户只能将文件的拥有者改成自己所在组的用户。

    修改文件的所属组

    使用chgrp命令,文件的所属组也必须是系统中存在的组

    现在将文件的所属组改为cooleyes(存在),和dagege(不存在)试试:

    [root@localhost /]# chgrp cooleyes 1.php 
    [root@localhost /]# ls -l 1.php 
    -rw-r--rw- 1 cooleyes cooleyes 0 10月 13 16:00 1.php
    [root@localhost /]# chgrp dagege 1.php
    chgrp: 无效的组:"dagege"

    可见chgrp命令和chown命令操作都需要系统存在所需的用户和组,普通用户只能将文件的所属组修改为自己所在的组(用户可以同时存在多个组中)

    最后说几句

    还有一点 chown命令可以同时修改文件的用户和组

    比如现在将文件的拥有者和所属组还原:

    [root@localhost /]# chown root:root 1.php  #用户和组用分号隔开
    [root@localhost /]# ls -l 1.php 
    -rw-r--rw- 1 root root 0 10月 13 16:00 1.php

    感觉很实用呢! chmod chgrp chown这三个命令的作用可不止真么简单 man chmod可以让我们查看到更多的作用,这里就因为实在太多这里就不举例了!

  • 相关阅读:
    个人软件过程 1
    一个月学会VC++2012 3.我们动手吧!
    一个月掌握VC++2010?
    个人软件过程2 项目开发的基本流程
    个人软件过程4 功能说明和用户体验设计
    一个月学会VC++2010 5.对话框的数据交换
    个人软件过程3 需求分析
    一个月学会VC++2010 4.细说对象之香艳旖旎
    一个月学会VC++2010 1.送上门的银子
    一个月学会VC++2010 2.看起来风险不大
  • 原文地址:https://www.cnblogs.com/dagege/p/5956116.html
Copyright © 2011-2022 走看看