(转) Ubuntu 更改文件夹及子文件夹权限

Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下。
一 介绍:
可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取
二 详解
1 此命令有两种使用方法,一种是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的权限 

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

2 另一种是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 ××× (每个人都有读和写以及执行的权限)
时间: 2024-10-04 09:27:10

(转) Ubuntu 更改文件夹及子文件夹权限的相关文章

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

nodejs 文件系统(fs) 删除文件夹 及 子文件夹下的所有内容

http://blog.163.com/hule_sky/blog/static/2091622452015112821829773/ node 文件系统fs 为我们提供了一些方法 进行文件和文件夹的读写删除等操作 下边将介绍删除文件夹及子文件夹下的所有内容的相关命令(均含有同步和异步方法) 1. fs.stat && fs.statSync 提供了访问文件的属性信息 2. fs.readdir && fs.readdirSync 提供读取文件目录信息 3. fs.unli

列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤

/** * 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤 * * @param path */ public static void list(File path) { if (!path.exists()) { System.out.println("文件名称不存在!"); } else { if (path.isFile()) { if (path.getName().toLowerCase().endsWith(".pdf") || path.get

Linux C 读取文件夹下所有文件(包括子文件夹)的文件名(转)

Linux C  下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下: 1 #include <dirent.h> 2 struct dirent 3 { 4 long d_ino; /* inode number 索引节点号 */ 5 off_t d_off; /* offset to this dirent 在目录文件中的偏移 */ 6 unsigned short d_reclen; /* length of this d

获取文件夹以及子文件夹里面的所有文件

1. 没有后缀名的限制: string[] filePaths = Directory.GetFiles(@"c:\MyDir\"); 2. 有后缀名: string[] filePaths = Directory.GetFiles(@"c:\MyDir\", "*.bmp"); 3. 获取文件夹以及子文件夹里面的所有文件:  设置SearchOption.AllDirectories 属性 string[] filePaths = Direct

Java 遍历指定文件夹及子文件夹下的文件

/** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @param file 要遍历的指定文件夹 * @param collector 符合条件的结果加入到此List<File>中 * @param pathInclude 路径中包括指定的字符串 * @param fileNameInclude 文件名称(不包括扩展名)中包括指定的字符串 * @param extnEquals 文件扩展名为指定字

shell 批量压缩指定文件夹及子文件夹内图片

shell 批量压缩指定文件夹及子文件夹内图片 用户上传的图片,一般都没有经过压缩,造成空间浪费.因此须要编写一个程序,查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理. 代码例如以下: #!/bin/bash # 查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理 # Config folderPath='/home/fdipzone/photo' # 图片文件夹路径 maxSize='1M' # 图片尺寸同意值 max

遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<string>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrows

Java与Python统计文件夹及子文件夹下文件个数

package dang; import java.io.File; /** * @ClassName: FileCount * @Description: TODO() * @author: dangjinhu * @date: 2018年11月1日 下午2:24:58 */ public class FileCount { public static void main(String[] args) { int[] array = new int[]{0,0}; print(new File