一. 文件(文件夹)的权限问题

  一个文件或者文件夹,使用它的人有三类:root、当前用户和其他用户,例如,我们可以通过 ls -l xxx.xxx 来查看文件 “xxx.xxx” 的权限,比如我查看 /var/log/ 中的
boot.log 文件的权限:ls -l /var/log/boot.log,出现里如下信息:

    -rw-r--r-- 1 root root 1667 Sep  4 22:45 /var/log/boot.log

  代表什么意思呢?这里只解释前面十个字符:“-rw-r--r--” 的意思,我也只知道前面十个字符的意思

  第一个字符“-”可以理解成:后面跟着的的九个字符 “rw-r--r--” 表示的是权限信息,九个字符,每三个一组,分成了三组:

    "rw-" (前面三个字符)表示 root 对这个文件的权限

    "r--" (中间三个字符)表示 当前登录用户 对这个文件的权限

    "r--" (后面三个字符)表示 其他用户 对这个文件的权限

  一个用户,不管是 root、当前登录用户还是其他用户,对一个文件的权限可以分为三类:

    r 阅读

    w 写入

    x 执行

  有时候,字符可能让人觉得不简洁,因为会写一长串的格式命令,觉得太麻烦了,linux 中可以使用类似于“状态压缩”,怎么弄呢,把 r w x 这三个权限看作一个 3 位的二进制数:rwx,其中,具有相应权限的表示为 1,不具备的表示为 0,比如:

    rwx  111  7

    rw-  110  6

    r-x  101  5

    r--  100  4

    -wr  011  3

    ......

  那么,我们在执行 chmod 的时候,就可以简单的多了:只需要三个十进制数就行了,比如:

    chmod 640 xxx.xxx 就是等价于  chmod -rw-r-----
xxx.xxx

  命令的含义也更加明确:6 表示 root 具备的权限集合,4 表示 当前登录用户 具备的权限集合,0 表示其他用户具备的权限集合

二. 使用 chmod 修改文件(文件夹)权限

  暑假前,看见一个人给一个文件修改了权限,他执行的是如下命令: chmod +x xxx.xxx,这句话是什么意思呢,那时刚接触 linux,还不太理解,现在知道了

  给一个文件添加权限,可以使用 +r、+w 或者 +x 这三个操作,相信大家也都明白什么意思:添加读的权限,写的权限,执行的权限

  给一个文件取消权限,可以使用 -r、-w 或者 -x 这三个操作,分别是取消读的权限,写的权限,执行的权限

  也就是说:+ 是增加权限,- 是取消权限,不过,值得注意的是,如果单独执行 +r(w,
x) 或者 -r(w, x) 是将 root,当前登录用户,其他用户的权限都修改了,如果是 +,就都增加里这个权限(不管以前有没有这个权限),如果是 -,就都取消了这个权限(不管以前有没有)

  如果要仔细配置 root 具有哪些权限,当前登录用户具有哪些权限,其他用户具有哪些权限,就需要使用上面提到的,将命令写清楚,不知道还有没有其他方法,但是写清楚肯定是对的,这也是避免出错的一种手段吧

  比如,需要将一个文件修改成 root 和 当前登录用户具有读,写,执行的权限,其他用户什么权限都不具备,就可以这样:chmod 770 xxx.xxx

  如果想保持一些权限不变,例如,我只想修改当前登录用户的权限,其他用户的权限不改变,可以先 ls -l xxx.xxx 看看这个文件的权限信息,然后只修改当前用户的权限即可

  如果想将一个文件夹的权限修改了,需要使用到 -R 参数,他表示这个权限修改操作将改变这个文件夹内所有文件和文件夹的权限,递归的进行,遇到子文件夹,继续往下执行,可以在  terminal 中 man
chmod 查看这个参数和其他参数的介绍

转自:http://www.cnblogs.com/zhj5chengfeng/archive/2013/09/05/3302440.html

最新文章

  1. git超详细教程
  2. Django(三)
  3. Windows内核 内存管理基本概念
  4. 【iOS】Quartz2D矩阵操作
  5. 关于django post表单
  6. Android四:sqllite
  7. PHPExcel导出excel文件
  8. hdu 2012 素数判定 Miller_Rabbin
  9. 小猪的Android入门之路 Day 3 - part 3
  10. Flink Program Guide (9) -- StateBackend : Fault Tolerance(Basic API Concepts -- For Java)
  11. 8.PHP 教程_PHP字符串
  12. 用jsp写注冊页面
  13. 9.XML文件解析
  14. HTML5 Web SQL 数据库操作
  15. localStorage和sessionStorage的使用方法和一些特性介绍
  16. 有点难度的JS面试题
  17. Struts2漏洞解决
  18. Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?
  19. Linux查看和注销用户(User)
  20. m_Orchestrate learning system---mo系统权限思考

热门文章

  1. [no_code团队]项目介绍 & 需求分析 & 发布预测
  2. PCB电路板元器件布局的一般原则*(转)
  3. DMA实现采样数据的直接搬运存储
  4. Python大数据应用
  5. Java测试开发--JSONPath、JSONArray、JSONObject使用(十)
  6. v-html | 数据内容包含元素标签或者样式
  7. [python]Robotframework+Git+jenkins实现持续集成并生成测试报告发送邮件
  8. Java使用iText7生成PDF
  9. Pytest使用pytest-html和allure生成测试报告
  10. 【CVE-2020-1948】Apache Dubbo Provider反序列化漏洞复现