部署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

Centos环境下部署游戏服务器-权限的更多相关文章

  1. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  2. Centos环境下部署游戏服务器-常用命令

         图1     在Linux的世界,如果你不玩命令,那你见了同行都不好意思和人家打招呼.同时服务器正常状况下放在远端,一般都是开ssh登录服务器,相信远程桌面的人很少见吧.这篇文章说说Linu ...

  3. Centos环境下部署游戏服务器-自动化

    计算机是没有智力的,只会接受指令,运行指令,得出结果.因此就算你让它重复做一件事多少次,它也学不会自动去做这件事.对于重复繁琐的事情,做为一个懒惰的程序员,必须告诉机器去做这件事情,然后就行了,而不是 ...

  4. Centos环境下部署游戏服务器-编译

    游戏服务器是在windows环境开发的,相关跨平台的东西在这里不谈了,只谈如何将Visual Studio 工程转换到Linux下编译.这里涉及到的软件分别为:Centos版本为6.4,Visual ...

  5. Centos环境下部署游戏服务器-简介

    一.前言      在接触这个操作系统之前我一直使用的是ubuntu和mac os,这次由于游戏是测试版本,没有专业的运维人员去做这件事情,只能我这个稍微懂一点linux的人来做这件事情了.由于涉及到 ...

  6. Centos环境下部署游戏服务器-iptables

    简介:   图1        Centos做为服务器级操作系统,防火墙是不可缺少的.防火墙的主要功能为控制进出网络包,防火墙就如小区门卫的工作职责,检查出入小区居民的身份,如果不符合小区门卫管理条例 ...

  7. Centos环境下部署游戏服务器-SVN

    版本控制工具的文章已经被写滥了,所以本篇文章不想介绍如何安装Svn如何可视化操作这些东西.本篇文章讲述我自己对Svn的理解,以及在命令行下操作.为啥不应可视化界面?有两方面的原因,远程登录到服务器都是 ...

  8. Centos环境下部署游戏服务器-SSH

    在这个*nix大行其道的年代,SSH绝对值得你拥有,虽说它的语法真的很简单,可用途相当大.比如说你在登山,突然公司一个电话告诉你服务器出问题了,在登山的过程中,肯定不能背个几公斤的笔记本吧,这个时候只 ...

  9. Centos环境下部署游戏服务器-Eclipse

    一直在想这篇文章该不该写,因为这篇文章更像是教你如何使用一个ide这种文章,毫无价值可言.但思来想去还是应给写.上篇文章主要说了编译原理和过程,这篇文章就是理论联系实际的典范.并且很多工程师一辈子都不 ...

随机推荐

  1. Object:

    所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能. 具体方法: 1,bool ...

  2. 电梯调度--c++--软件工程

    一.设计思路 (1)将乘客要去的楼层数存起来. (2)假设yi为乘客要爬楼层数之和,yi=n1*|(n1-ni)|+n2*|(n2-ni)|+..+n18*|(n18-ni)| (3)比较y1到y18 ...

  3. liferay MVCActionCommand的用法及例子

    在liferay7中把portlet中的控制层拆成了3个部分: 1.MVCActionCommand 2.MVCRenderCommand 3.MVCRecourceCommand 至于为什么要拆出来 ...

  4. Android基础整理之四大组件Activity

    最近准备系统的重新整理复习一下Android的各方面的知识,本着知识分享的原则,我就把梳理过程中一些东西给记录下来,权当一个学习笔记吧. 下面步入正题..... 什么是Activity Activit ...

  5. Python使用SMTP发送邮件[HTML格式、送带附件]

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一 ...

  6. BZOJ1565 植物大战僵尸

    AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1565 这题看上去并不会做,结果又是最大权闭合子图的裸题. 于是就去看了一发论文,明白建图的 ...

  7. 【BZOJ】【3442】学习小组

    网络流/费用流 orz zyf 裸的费用流,根据题目描述即可建出如下的图: S->i 费用表示每有一个加入第 i 个小组的学生,需要花的钱,由于是跟流量(人数)的二次方相关,所以要拆边……然后每 ...

  8. win8 修改msconfig 里面的"引导高级选项" 最大内存后 BSOD的解决方案

    最近由于本人的电脑一直非常卡,于11.4日通过win8任务管理器分析发现 Peer Name Resolution Protocol Peer Networking Grouping Peer Net ...

  9. Ruby Profiler 详解之 ruby-prof(I)

    项目地址: ruby-prof 在上一篇 Ruby 中的 Profiling 工具中,我们列举了几种最常用的 Profiler,不过只是简单介绍,这一次详细介绍一下 ruby-prof 的使用方法. ...

  10. cf 383 D

    D. Antimatter time limit per test 1 second memory limit per test 256 megabytes input standard input ...