java设置目录访问权限_文件/目录权限设置命令:chmod

文件/目录权限设置命令:chmod

这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:

用包含字母和操作符表达式的文字设定法

其语法格式为:chmod [who] [opt] [mode]文件/目录名

其中who表示对象,是以下字母中的一个或组合:

u:表示文件所有者

g:表示同组用户

o:表示其它用户

a:表示所有用户

opt则是代表操作,可以为:

+:添加某个权限

-:取消某个权限

=:赋予给定的权限,并取消原有的权限

而mode则代表权限:

r:可读

w:可写

x:可执行

例如:为同组用户增加对文件a.txt的读写权限:

chmod g+rw a.txt

用数字设定法

而数字设定法则更为简单:chmod [mode]文件名

关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:

111 101 100

再将其每三位转换成为一个十进制数,就是754。

例如,我们想让a.txt这个文件的权限为:

自己同组用户其他用户

可读是是是

可写是是可执行

那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:

chmod 664 a.txt

作为Linux命令

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

使用权限:所有使用者

格式:chmod [-cfvR] [--help] [--version] mode file...

参数说明:

mode :权限设定字串,格式如下: [ugoa...][[+-=][rwxX]...][,...],其中u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。

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

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

-s :在文件执行时把进程的属主或组ID置为该文件的文件属主。

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

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

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

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

--help :显示辅助说明

--version :显示版本

chmod ugo+r file1.txt

将档案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 *

当其他用户执行oracle的sqlplus这个程序时,他的身份因这个程序暂时变成oracle

chmod u+s sqlplus

此外,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=5。

范例二:

chmod a=rwx file

chmod 777 file

效果相同

chmod ug=rwx,o=x file

chmod 771 file

效果相同

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

如果是管理员也就是常说的ROOT用户的话,基本上有可以查看所有文件的权力.

chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。

例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。

但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。

这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

posted on 2012-01-12 13:50 DHC 阅读(1512) 评论(0)  编辑  收藏

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值