2007-06-21
文件与目录权限
关键字: Linux学习chown与chgrp
文件有“拥有者”及“拥有群组”,chown就是用于改变拥有者。新手最容易犯的一个错误就是:以root身份复制了一个文件(或路径)给一般用户,但忘记将文件的拥有者改成该用户,这样该用户就不能修改该复制文件。
语法:chown [-R] user [文件或者目录名]
chown [-R] user:group [文件或者目录名]
参数说明:
-R:循环地将该目录下的所有文件都改成user与group的名称
示例:
chown test /home/test/testing //仅改变拥有者,不改变组用户
chown -R test:test /home/test/testing //改变拥有者及组用户
如何更改权限,使用chmod。
语法:
chmod [-R] [parameter] [目录名称]
参数说明:
-R:循环地将该目录的文件都改变
示例:
chmod 777 .bashrc
一个文件或目录至少有9个属性,三三一组,共分3组。可以使用数字当作变换属性的参考依据。各属性如下:r:4 ;w:2 ; x:1。将同一组数字相加就是该组的权限,例如:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
三组属性生成的数值就是770。
如果有些文件不想叫别人看到,可以输入chmod 740 filename
除了可以使用数字修改属性,还可以使用符号。文件的基本属性分别是user,group和others三组,那么我们可以使用u,g和o来代表3个组的属 性。此外,a代表all,即全部三组。那么读,写,可执行就可以写成r,w,x。所以,可以使用以下方式:
chmod u|g|o|a +|-|= r|w|x 文件或者目录
示例:
chmod u=rwx,og=rx .bashrc
注意,u=rwx,og=rx这段文字之间并没有空格隔开。此外如果不知道原来的文件属性,而只是想使某个文件每个人都可读,可以这样做:
chmod a+w .bashrc
而如果要将某个属性去掉而不更改其他的属性,这样做:
chmod a-x .bashrc
umask
我们知道如何改变一个目录或者文件的属性,但是当新建一个目录或者文件的时候,其默认属性是什么?这与umask指令有关。umask用户制定当前用户在 建立文件或者目录时的属性默认值。那么,如何得知或设定umask呢?查看umask数值直接输入umask即可,要设定其值,在umask之后接3个数 字。那么怎么指定这三个数字呢?主要还是跟linux的文件属性有关。参考下面的规则:
umask [number]
示例:
umask //显示当前的umask值
umask 002 //设定新的umask值
umask指定的是“该默认值需要取消的权限”,因为r,w,x分别是4,2,1.所以要取消写权限,就输入2,而如果要取消读权限,就输入4,那么要取消读写权限就输入6,要取消执行与写权限,就输入3。例如:执行umask 002 后,当用户
如果有些文件不想叫别人看到,可以输入chmod 740 filename
除了可以使用数字修改属性,还可以使用符号。文件的基本属性分别是user,group和others三组,那么我们可以使用u,g和o来代表3个组的属 性。此外,a代表all,即全部三组。那么读,写,可执行就可以写成r,w,x。所以,可以使用以下方式:
chmod u|g|o|a +|-|= r|w|x 文件或者目录
示例:
chmod u=rwx,og=rx .bashrc
注意,u=rwx,og=rx这段文字之间并没有空格隔开。此外如果不知道原来的文件属性,而只是想使某个文件每个人都可读,可以这样做:
chmod a+w .bashrc
而如果要将某个属性去掉而不更改其他的属性,这样做:
chmod a-x .bashrc
umask
我们知道如何改变一个目录或者文件的属性,但是当新建一个目录或者文件的时候,其默认属性是什么?这与umask指令有关。umask用户制定当前用户在 建立文件或者目录时的属性默认值。那么,如何得知或设定umask呢?查看umask数值直接输入umask即可,要设定其值,在umask之后接3个数 字。那么怎么指定这三个数字呢?主要还是跟linux的文件属性有关。参考下面的规则:
- 若用户建立的是“文件”,则默认没有可执行(x)项,即只有rw这两个项,也就是最大为666(-rw-rw-rw)
- 若用户建立的是“目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开发,亦即777(drwxrwxrwx)
umask [number]
示例:
umask //显示当前的umask值
umask 002 //设定新的umask值
umask指定的是“该默认值需要取消的权限”,因为r,w,x分别是4,2,1.所以要取消写权限,就输入2,而如果要取消读权限,就输入4,那么要取消读写权限就输入6,要取消执行与写权限,就输入3。例如:执行umask 002 后,当用户
- 建立文件时:666-002==>(-rw-rw-rw-)-(- - - - - - - -w-)==>-rw-rw-r--
- 建立目录时:777-002==>(drwxrwxrwx)-(- - - - - - - - w-)==>drwxrwxr-x
发表评论
最新评论
-
工作两年了,发发牢骚
zpple 写道不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司, ...
-- by rxgp02a -
工作两年了,发发牢骚
yanshiyi 写道rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的 ...
-- by rxgp02a -
工作两年了,发发牢骚
不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司,盯着一个项目组, ...
-- by zpple -
工作两年了,发发牢骚
rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那 ...
-- by yanshiyi -
工作两年了,发发牢骚
个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那是因为别人比你努力, ...
-- by rxgp02a







评论排行榜