如何设置linux的文件和目录的权限及stat命令的使用
一.文件和目录的权限
(1)chmod[-R]权限(mode) file 注:[-R]会将目录下所有权限都设置成指定的。
举例说明:假设目录名为a
chmod u-w a user减少w权限
chmod ug+x a user和group增加x权限
chmod ugo-x a user和group和others减少x权限
上一句等同于:chmod a-x
chmod o=w a others 只有others有w权限
chmod a=- a 去掉所有的权限
以上都不会影响它的子目录
chmod -R a+x a 子目录都会被影响,因为-R代表递归
(2)使用一组三位数字来表示
三位数字分别代表user,group ,other 的权限,每一位的权限即rwx,如果有对应的权限,则设该位为1 ,没有该权限设置为0。
举例说,如果user具有rwx三种权限,则这三位都是1,即111,这是二进制,换成十进制就是4+2+1=7,那么第一位为7;
group具有rw-的权限,则这三位即是110,换成二进制是4+2+0=6;
others具有r--的权限,则这三位是100,换成二进制是4+0+0=4;
那么设置权限就是 chmod 764 文件名;
(3)cd一个目录至少有什么执行权限
情况一:当拥有者只有读权限的时候,CD这个目录是进不去的。
情况二:当拥有者只有写权限的时候,CD这个目录也是进不去的。
情况三:当拥有者有读写权限的时候,CD这个目录同样是进不去的。
情况四:当拥有者至少有可执行权限时,CD这个目录就可以进去了。
(4)能在对应目录下创建文件能否ls显示出来,目录应该有什么权限。
情况一:当目录只有可执行权限时,是没办法创建文件的。
情况二:-wx不能显示出来,能创建文件
情况三:r-x只能显示,不能创建文件
情况四:拥有者应需要读写执行权限,显示出来。
二.stat查看文件信息时的Access time,Modify time,Change time
首先,在命令框中执行stat命令
当执行stat命令显示文件信息时,我们能看到有Access,Modify ,Change三个时间。
1、 Access time(atime):是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容,使用cp命令把该文件(即来源文件)复制成其他文件,或者在这个文件上运用grep sed more less tail head 等命令,凡是读取而不修改文件的操作,均衡改变文件的Access time。当我们cat查看文件之后,文件信息中的Access时间发生了改变。
当输入cat file1后,Access Time就会发生改变
Access Time发生了改变。
2、 Modify time(mtime):是指修改文件内容的时间,只要文件内容有改动(如使用转向输出或转向附加的方式)或存盘的操作,就会改变文件的Modify time,平常我们使用ls –l查看文件时,显示的时间就是Modify time 。
当我们对test.c进行内容修改时,Modify time以及Change time都发生了改变,因为修改了文件的内容。
进行内容改变后输入stat file1,即:
Modify Time 和 Change Time发生了改变
3、 Change time(ctime):是指文件属性或文件位置改动的时间,如使用chmod,chown,mv指令集使用ln做文件的硬是连接,就会改变文件的Change time. 当对文件的属性进行修改时,Change time发生了改变,但此时的Modify time并没有发生变化,因为文件内容没有变。
例如输入chmod 111 file1之后再查看stat file1,即:
Change Time发生了改变。