老头子的博客  2018年07月23日 星期一

手机版

linux修改文件夹及文件权限的命令

Linux系统下如何修改文档及文件(含子文件夹)权限,我们来看一下。

介绍:

可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级: 档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所存取。

详解:

此命令有两种使用方法,一种是chmod后加数字,后接文件名


chmod abc file 
 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
 r=4,w=2,x=1 
 若要rwx属性则4+2+1=7;
 若要rw-属性则4+2=6;
 若要r-x属性则4+1=5。

-------------------------
例子

chmod a=rwx file  和chmod 777 file  效果相同
chmod ug=rwx,o=x file  和chmod 771 file  效果相同

若用chmod 4755 filename可使此文件具有root的权限

-------------------------

另一种是chmod后边加字母,后接文件名

综上所述,当想用chmod命令来改变权限时,文件的用户身份主要有如下几类:

u:拥有文件的用户(所有者)

g:所有者所在的组群;

o:其他人(不是所有者或所有者的组群)

a:每个人或全部(u、g和o)。


用户所具有的文件访问权限类型如下:

r:读取权;

w:写入权;

x:执行权。


文件权限配置行为有如下几类:

+:添加权限;

-:删除权限;

=:使它成为唯一权限。


-------------------------
例子

使用chmod命令可以改变权限。下面这个例子显示了如何使用chmod命令来改变readme.txt文件的权限。

假设下面是readme.txt文件的初始权限设置:

 -rw-rw-r-- 1 winda winda 39 8月11 12:04 readme.txt 

 
如果是这个文件的所有者或者登录为根用户身份,则可以改变所有者、组群和其他人的权限。初始时,从上面的分析可以看出,这个readme.txt文件的所有者和组群可以读取和写入文件(rw-),组群之外的任何人只能读取文件(r--)。

文件权限是一种安全措施。无论何时允许其他人读取、写入或执行文件,都在增加文件被篡改或删除的危险。作为一种基本原则,应该只给那些真正需要这些文件的人以读写权限。

 在下面的例子中,想给每个人以写入readme.txt文件的权限,因此他们可以读取文件,在其中加注,并保存文件。这意味着必须改变文件权限中的“其他人”部分。 

此时需要在shell或终端提示下输入:

 chmod o+w readme.txt 

 o+w命令参数告诉系统想给其他人写入文件readme.txt的权限。要查看结果,再次列出文件的细节。此时,这个文件的用户访问权限就如下所示了(在第3列中多了一个w):

 -rw-rw-rw- 1 winda winda 39 3月11 12:04 readme.txt 

现在,每个人都可以读取和写入这个文件了。要从readme.txt中删除组群和其他人的读写权限,使用chmod命令来取消读取和写入这两个的权限。

命令如下: 

chmod go -rw readme.txt 

通过输入go-rw参数告诉系统删除文件readme.txt中组群和其他人的读取和写入权限。再次通过 ls -1命令列出的结果如下:
 

-rw------- 1 winda winda 39 3月11 12:04 readme.txt 

从文件readme.txt中删除所有权限(包括每个人的权限)的命令如下:

 
chmod a -rwx readme.txt 

 

现在,来看看是否还能够使用cat readme.txt命令来读取这个文件,它所返回的输出应如下所示:

cat: readme.txt: Permission denied 

删除所有的权限,包括自己的,会成功地锁住这个文件。但是由于这个文件属于用户,可以随时使用以下命令把它的权限改回来。命令如下:

 
chmod u+rw readme.txt 


使用命令cat readme.txt来试试作为文件所有者是否还能够读取该文件。


这里是几个可以用在chmod命令设置上的常用例子:

g+w:为组群添加写入权;

o-rwx:删除其他人的所有权限;

u+x:允许文件所有者执行这个文件;

a+rw:允许每个人读取并写入文件;

ug+r:允许所有者和组群读取文件;

g=rx:只允许组群读取和执行(不能写入)。

最后,介绍一下恢复组群的权限的方法。命令如下:

chmod ug+x tigger 

 

现在,如果用ls -dl命令检查一下,会发现只有其他人(others)被拒绝了到目录tigger的访问权。


==================================
 

华丽的分隔线

=============================================== 

Ubuntu 更改文件夹及子文件夹权限

打开终端进入你需要修改的目录
然后执行下面这条命令
 chmod    777    *      -R 
  全部子目录及文件权限改为777 

查看linux文件的权限:ls -l 文件名称
查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)

修改文件及文件夹权限:
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)

常用修改权限的命令:
sudo chmod 600 ××× (只有所有者有读和写的权限)

sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)

sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)

sudo chmod 666 ××× (每个人都有读和写的权限)

sudo chmod 777 ××× (每个人都有读和写以及执行的权限)




标签:
上一篇: 用lvm管理Linux磁盘的大小
下一篇: Linux下的top命令

发表评论:

*