zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    HDU
    纯C++去雾算法
    拓扑排序
    SG 函数初步 HDU 1536 && HDU 1944
    <html>
    XML制作RSS源
    ACM退役前2个月总结
    javascript 的 jasmine 的測试语句
    Vue.js父与子组件之间传参
    $.contents().find设置的data在iframe子页面无法获取值
  • 原文地址:https://www.cnblogs.com/fengju/p/6174320.html
Copyright © 2011-2022 走看看