小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

Centos环境下部署游戏服务器-权限

     部署Web服务器的时候,在“DocumentRoot”指向的根目录新建一个文件夹,然后将网页和资源放在这个文件夹里,通过地址http://192.168.0.100/Res/index.php,提示错误无权访问。但是我新建一个test.php文件却是可以执行的。在同一个目录里,为什么会出现两种状况呢?
     在Linux下执行命令:$ls -l, 返回结果为:
图1

     从图里可以看到第一列十个“-”,第一个显示文件属性,默认是单个文件,d表示是文件夹,第二列表示数量。后面的九个“-”分三组,每组三个一组,每组三个分别代表读,写,执行权限。字母表示就是"r", "w", "x", 如果显示是“-”表示没有对应的权限。这三个组分别代表“创建者权限”,“指定用户组权限”,“其它用户组权限”, 上图中第一行的bask.sh是root创建,所属root组。这表示创建者root有读和写的权限,root组的用户只有读的权限,其它用户也有读的权限。第三列表示文件所有者,第四列表示组所有者,第五列是大小,后面是创建日期。

     理解了上面的文件权限概念,下面来说说如何修改权限。修改权限有两种方式。
1、一般方式
$chmod u+x file     # 创建者 添加可执行权限
$chmod g+x file     # 用户组 添加可执行权限
$chmod o+x file     # 其它用户添加可执行权限
$chmod u-w file     # 取消创建者写权限

2、数字方式
图2
     上面这张图是我找的,通过这张图可以更容易的理解数字方式的权限设置。总共三种权限 对应于:
r  —— read       ——   4
w —— write      ——   2
x ——  execute ——   1
所以想改什么权限非常容易
$chmod 761 file

修改文件的拥有者和组
$chown username file
$chgrp groupname  file
上面是修改单个文件执行这个命令就可以了,如果是整个文件夹遍历方式修改权限的话,加-R参数。

修改文件创建默认权限
#chown 2751 file
#chgrp 2751 dir
当用户在所在文件下新建一个文件,默认权限可以通过上面命令修改,其中2就是掩码,那以后用户在所属文件下新建文件的权限为775。这个是如何计算的呢。
单个文件的范围是:000 - 666
单个文件夹的范围是:000-777
第一步:
     not(2) 对应是 775
第二步:
     775&777 得出775
单个文件同样的道理,那如果部创建文件的话默认umask可以通过修改~/.bashrc 对应的umask 值。

     Linux说一切都是文件,所以文件的权限问题是很重要的,看似简单,其实是很多问题的根源,比如当打开eclipse的时候,你是以普通用户user打开的,但你把一个user不拥有读权限的文件夹指定为工作目录,eclipse是会抛出打开文件失败异常。还有很多例子,需要自己慢慢体会这中间的道理。
参考:
http://www.technobol.com/how-to-check-file-permissions-in-linux-os/
http://www.linuxnix.com/2011/12/umask-define-linuxunix.html

posted on 2013-09-05 17:44  王峰炬  阅读(205)  评论(0编辑  收藏  举报

导航