Ubuntu中更改文件权限

当在ubuntu写程序是会遇到这样的错误:

cannot create directory `build': Permission denied
说明你没有对此文件夹操作的权限;

运行:

chmod 777 * -R

全部子目录及文件权限改为 777

即可解决问题。


具体解释:

  Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持有权限的,一般用户是无法改变的。在图形界面上,我们可以通过属性中的权限选项夹进行操作。但是一旦文件的属性显示当前用户没有读写权力时,无法在图形界面上修改权限。

 

  常用方法如下:

 

  sudo chmod 600 ××× (只有所有者有读和写的权限)

 

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

 

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

 

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

 

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

 

  其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。

 

  解释一下,其实整个命令的形式是

 

  sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)

 

  三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111]。

 

  这个三位的二进制数的每一位分别表示读、写、执行权限。

 

  如000表示三项权限均无,而100表示只读。这样,我们就有了下面的对应:

 

  0 [000] 无任何权限

 

  4 [100] 只读权限

 

  6 [110] 读写权限

 

  7 [111] 读写执行权限

 

  现在看上面的几个常用用法就非常清楚了。试着自己来修改权限吧

 

  最后同时附上查询文件(或文件夹)权限的命令

 

  ls -l 文件名称 (文件夹将-l改为-ld)。

 

  chmod用法

 

  指令名称 : chmod

  使用权限 : 所有使用者

 

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

 

  说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。

  利用 chmod 可以藉以控制档案如何被他人所存取。

 

  把计 :

 

  mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],

  其中u 表示该档案的拥有者,

  g 表示与该档案的拥有者属于同一个群体(group)者,

  o 表示其他以外的人,

  a 表示这三者皆是。

  + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

  r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

  -c : 若该档案权限确实已经更改,才显示其更改动作

  -f : 若该档案权限无法被更改也不要显示错误讯息

  -v : 显示权限变更的详细资料

  -R : 对目前目录下的所竞彩网有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

  --help : 显示辅助说明

  --version : 显示版本

 

  范例 :将档案 file1.txt 设为所有人皆可读取 :

  chmod ugo+r file1.txt

  -

  批量将文件夹及子文件夹文件

  chmod -R 755 /var/www/thinkphp

 

 

  将档案 file1.txt 设为所有人皆可读取 :

  chmod a+r file1.txt

 

  将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

  chmod ug+w,o-w file1.txt file2.txt

 

  将 ex1.py 设定为只有该档案拥有者可以执行 :

  chmod u+x ex1.py

 

  将目前目录下的所有档案与子目录皆设为任何人可读取 :

  chmod -R a+r *

 

  此外chmod也可以用数字来表示权限如 chmod 777 file

  语法为: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=7。

 

  范例:

  chmod a=rwx file

 

  和

  chmod 777 file

 

  效果相同

  chmod ug=rwx,o=x file

 

  和

  chmod 771 file

 

  效果相同

 

  若用chmod 4755 filename可使此程式具有root的权限

  指令名称 : chown

  使用权限 : root

 

  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

 

  说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。

  一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。

  只有系统管理者(root)才有这样的权限。

 

  把计 :

 

  user : 新的档案拥有者的使用者

 

  IDgroup : 新的档案拥有者的使用者群体

 

  (group)-c : 若该档案拥有者确实已经更改,才显示其更改动作

 

  -f : 若该档案拥有者无法被更改也不要显示错误讯息

 

  -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案

 

  -v : 显示拥有者变更的详细资料

 

  -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

 

  --help : 显示辅助说明

 

  --version : 显示版本

 

  范例 :

  将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :

  chown jessie:users file1.txt

 

  将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

  chmod -R lamport:users *

  -rw------- (600) -- 只有属主有读写权限。

 

  -rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。

 

  -rwx------ (700) -- 只有属主有读、写、执行权限。

 

  -rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

 

  -rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。

 

  -rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。

 

 

  -rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。

 

  以下是对目录的两个普通设定:

  drwx------ (700) - 只有属主可在目录中读、写。

  drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容。





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值