chmod命令

/home/user/java/jdk1.7.0/bin/java:permission denied

处理方法:提升java为执行权限

1
chmod +x /home/user/java/jdk1.7.0/bin/java

以及javac权限不够也是如此处理。

chmod命令详解使用格式和方法

Linux/Ubuntu 系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、其他(o)。用chmod就可以更改文件的权限。chmod是一个相当灵活的命令,对同一个文件的权限的修改可以用多种风格的命令格式来实现。

方式一

语法格式: chmod [-vR] mode 文件名

参数说明:

mode 权限设置字串,格式为[ugoa] [+-=] [rwx]

u 表示文件的拥有者

g 表示与此文件拥有者属于一个组群的人

o 表示其他人

a 表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)

  • +表示增加权限
  • -表示取消权限
  • =表示唯一设置权限
  • r 表示有读取的权限
  • w 表示有写入的权限
  • x 表示有执行的权限
  • -v 显示权限改变的详细资料

-R 表示对当前目录下的所有文件和子目录进行相同的权限更改

例:

我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取、写入、执行的权限。

在这里就需要结合sudo命令来使用

1
2
3
ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

或者使用

1
2
3
ownlinux@server:/var/www$ sudo chmod ugo+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

命令不一样,但执行后的效果是一样的。

要为此目录及子目录所有用户拥有该文件的读取、写入、执行的权限,此时需要加-R

1
2
3
ownlinux@server:/var/www$ sudo chmod a+rwx -R ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

语法格式: chmod [-vR] [No] 文件名

参数说明:

No 三位代表相应权限的数字

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

-R 表示对当前目录下的所有文件和子目录进行相同的权限更改

可能这种方式对于初学者来说有一定的难度,但这种方法学会后在更改文件权限就变得非常的简单。

刚才已经说过了,[No]参数 是三位代表相应权限的数字。从左向右,第一位数学代表文件拥有者(u)的权限、群组(g)的权限、其他(o)的权限。每一个数字就对应该级用户拥有的权限即为rwx相应的数字之和。

类似于二进制,如果是所有用户拥有该文件的读取、写入、执行的权限就是拥有者(u)的权限(4+2+1=7)群组(g)的权限(4+2+1=7)其他(o)的权限(4+2+1=7即为777。注意:如果没有读取的权限则”r”相应的数字编号就为”0″,写入(w)、执行(x)同理。

我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取(r)、写入(w)、执行(x)的权限。回顾一下方式一的命令格式。

1
2
3
ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

可以改为:

1
2
3
ownlinux@server:/var/www$ sudo chmod 777 ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

如果要让当前目录下ownlinux这个文件的权限修为该文件的拥有者(u)有该文件的读取(r)、写入(w)、执行(x)的权限,群组(g)和其他(o)的用户只有读取(r)和执行(x)的权限,运行以下命令:

1
2
3
ownlinux@server:/var/www$ sudo chmod 755 ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

要为此目录及子目录所有用户拥有该文件的读取、写入、执行的权限,此时需要加-R

1
2
3
ownlinux@server:/var/www$ sudo chmod 777 -R ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

-------------本文结束 感谢您的阅读-------------