概念

权限就是用户对资源所能进行的操作 -- 这里涉及到三个重要的概念:用户、资源、操作。

首先,Linux中用户分为:u、g、o,就是用户、用户组、其他用户。--这里的用户是指拥有者!!!务必记住!

其次,Linux中一切皆文件,所以Linux中的资源就是文件。(姑且这么说吧)

最后,Linux中文件的权限分三种:r、w、x,就是读、写、执行。

另外,二进制权限,r、w、x分别对应4、2、1,所以权限可以使用数字表示或者赋予。例如,读权限对应4;读写权限对应6;读执行权限对应5;读写执行权限对应7。

Linux中文件默认权限为666,即可读写,但不能执行,但还有一个umask值,所以实际的默认权限是由二者结合而成。

部分资料认为是666-umask,这不对,因为umask可能含有666没有含有的值。举个例子,666-0033=633,这不对,因为默认不能含有x权限!如果非要相减,需要将umask-0011才可以,就是去掉可执行权限。

最直接的计算方法是,将666和umask转成rwx形式,然后相减即可。

Linux中目录默认权限为777,可读写可执行,同样需要结合umask才能得出实际的默认权限!!!

umask 可以临时修改值,永久更改需要在环境变量中设置:/etc/profile

查看

通过 ls -l 命令就可以查看某个文件的权限信息:

[root@localhost ~]# ls -l
总用量
-rw-------. root root 12月 : anaconda-ks.cfg
-rw-r--r--. root root 12月 : install.log
-rw-r--r--. root root 12月 : install.log.syslog

解析

以上面的 install.log 文件的信息为例,其权限部分  -rw-r--r--. 。长度12,可以这样划分 1 + 3 + 3 + 3 + 1。

第一位代表文件类型:-代表文件,d代表目录,l代表连接,等等。

之后的三组三位分别对应用户、用户组、其他用户的读写执行权限;

最后一位与ACL有关,暂略。

更改权限

chmod命令

有多种形式:

chmod u+rwx,g+r,o+r  file
chmod u=rwx,g=r,o=r file
chmod a=rx file chmod file

熟练之后推荐使用数字形式!

另外,-r 选项表示递归,用于设定目录下面的所有文件的权限。

特殊

对于文件(与目录相对)来说,读写执行权限很好理解;但对于目录来说,则不那么容易理解。

举个例子,假定有一个目录 ~/dir/,给你的权限是w写权限,那么你无法删除该目录、以及目录下的文件!

原因涉及到底层知识,暂略。

总之,Linux中,对文件来说最重要的是x权限,但对目录来说,最重要的是w权限。

就是说,对目录来说,只有0、5(rx)、7(rwx)才有效。

最新文章

  1. GDB 多线程调试:只停止断点的线程,其他线程任然执行; 或只运行某些线程 其他线程中断
  2. Codeforces Round #380 (Div. 2) 总结分享
  3. Ubuntu terminal 不见了
  4. JAVA addShutdownHook测试
  5. rc522 ,pn544区别
  6. Java笔记(二十三)……Map集合
  7. 用Eclipse 开发Dynamic Web Project应用程序 【转】
  8. 基于AFN的多张图片上传
  9. 【】小技巧】CSS文字两端对齐
  10. [APIO2010]特别行动队
  11. Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题
  12. Spring 快速开始 启动Spring
  13. html 背景
  14. 3d tech
  15. yum反查某个命令或so库在哪个包里面
  16. C/C++内存泄露及检测工具
  17. springboot+mybatis遇到BUG:自动注入失败
  18. 浏览器好玩的的 console.log
  19. css3的代替图片的三角形
  20. insert插入数据

热门文章

  1. jquery文件上传
  2. R12_专题知识总结提炼-AR模块
  3. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
  4. 树莓派(rasperberry pi 2)上装mysql远程无法访问
  5. C# windows form如何隐藏窗口?
  6. UNDO内存结构剖析
  7. web聊天室
  8. php获取时间问题,用默认配置读到本地时间。。。。。
  9. vue-cli webpack 引入jquery
  10. c#跨线程访问控件帮助类