一、查看文件或文件夹权限

[root@hadoop09-linux etc]# ll -h /etc #ll 是ls -l 的缩写方式 -h文件大小单位k

截取其中三行说明

drwxr-xr-x.  2 root root  4.0K Sep  2 08:19 init
lrwxrwxrwx. 1 root root 11 Sep 2 08:11 init.d -> rc.d/init.d
-rw-r--r--. 1 root root 884 Sep 2 00:26 inittab

分为 6 块(已其中第一行解释)

# drwxr-xr-x.  2 root root  4.0K Sep  2 08:19 init
1. drwxr-xr-x. 注:最后那个点是ls把多acl和selinux属性加进去了,下面只考虑前十位
  第一位表是文件类型 d:目录 -:普通文件 l:链接文件
  此时需要了解权限的分组:
    前三位是文件所有者(user,简写u);中间三位是所在组(group,简写g);后三位其他人(other,简写o);第二位到第10位,即rwxr-xr-x权限
    r:可读,以二进制表示2^2;w:可写,以二进制表示2^1;x:可执行,以二进制表示2^0;-:无所在权限,以二进制表示0)
  例:r-x 权限(可读可执行但不可写,数字表示为4+0+1=5)
    那么rwxr-xr-x中,文件所有者的权限是可读可写可执行(4+2+1=7);
    所在组的权限是可读不可写可执行(4+0+1=5);其他人的权限是可读不可写可执行(4+0+1=5)
    则rwxr-xr-x以数字表示为755
2. 2 代表文件连接数
3. root root 分别代表用户名和用户组
4. 4.0k 代表文件大小
5. Sep 2 08:19 日期
6. init 文件名

一、权限操作

  1. chmod 分配权限

   属性:u(user) g(group) o(other)  a(all)

   a. 权限设置符号:+(添加权限)  -(去掉权限)  =(设置完整权限)

[root@hadoop09-linux tmp]# touch test.txt
[root@hadoop09-linux tmp]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 19:58 test.txt
[root@hadoop09-linux tmp]# chmod u+w,g-r,o=rwx test.txt #注意各组权限以,分隔
[root@hadoop09-linux tmp]# ll
total 0
-rw----rwx. 1 root root 0 Sep 6 19:58 test.txt

   b. 以数字形式设置权限

[root@hadoop09-linux tmp]# chmod 777 test.txt #上面已解释7=r+w+x
[root@hadoop09-linux tmp]# ll
total 0
-rwxrwxrwx. 1 root root 0 Sep 6 19:58 test.txt

   c. 递归修改权限,即设置文件夹权限时加上-R,里面的子目录和文件都一并设置

[root@hadoop09-linux test]# ll
total 4
drwxr-xr-x. 3 root root 4096 Sep 6 20:06 test1
-rw-r--r--. 1 root root 0 Sep 6 20:07 test1.txt
-rw-r--r--. 1 root root 0 Sep 6 20:07 test.txt
[root@hadoop09-linux test]# chmod 777 -R ../test
[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 root root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 root root 0 Sep 6 20:07 test1.txt
-rwxrwxrwx. 1 root root 0 Sep 6 20:07 test.txt

  2. chown 修改拥有者

   a. 修改单个文件或文件夹的拥有者

[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 root root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 root root 0 Sep 6 20:07 test1.txt
-rwx------. 1 root root 0 Sep 6 20:07 test.txt
[root@hadoop09-linux test]# chown eRrsr test.txt
[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 root root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 root root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr root 0 Sep 6 20:07 test.txt

   b. 递归修改文件夹下的所有子目录和文件的拥有者

[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 root root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 root root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr root 0 Sep 6 20:07 test.txt
[root@hadoop09-linux test]# chown -R eRrsr ../test
[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 eRrsr root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 eRrsr root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr root 0 Sep 6 20:07 test.txt

  3. chgrp 修改所在组

   a. 修改单个文件或文件夹的所在组

[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 eRrsr root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 eRrsr root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr root 0 Sep 6 20:07 test.txt
[root@hadoop09-linux test]# chgrp eRrsr test.txt
[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 eRrsr root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 eRrsr root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr eRrsr 0 Sep 6 20:07 test.txt

   b.  递归修改文件夹下的所有子目录和文件的

[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 eRrsr root 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 eRrsr root 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr eRrsr 0 Sep 6 20:07 test.txt
[root@hadoop09-linux test]# chgrp -R eRrsr ../test
[root@hadoop09-linux test]# ll
total 4
drwxrwxrwx. 3 eRrsr eRrsr 4096 Sep 6 20:06 test1
-rwxrwxrwx. 1 eRrsr eRrsr 0 Sep 6 20:07 test1.txt
-rwx------. 1 eRrsr eRrsr 0 Sep 6 20:07 test.txt

需要注意的是:

  如果在/usr/tmp下创建了一个文件夹该文件夹root分给eRrsr所有权限,针对于eRrsr其中的文件或子目录并没有权限,那登录eRrsr后是否能删文件夹内的文件呢?

  可以

PS:对与用户或用户组的修改请查看上一小节

Linux_权限的更多相关文章

  1. linux_权限小练习

    下面是解释: 当前# root用户, ls列出列表 mkdir 新建目录 赋予目录744权限      对others来说是  r--  只可读 touch 新建在目录下的同名文件 赋予文件600权限 ...

  2. Linux_权限管理理论概述

    一.权限定义 1.文件权限作用的对象 owner :属主 - u group :属组 - g other :其他人 - o 2.文件的三种权限 //针对文件的权限 r 可读 可以使用cat命令查看文件 ...

  3. Linux_用户管理&权限管理

    2017年1月11日, 星期三 Linux_用户管理&权限管理 1.  Linux用户管理&权限管理 终端的概念: tty  查看登录的终端 类型  user group    oth ...

  4. Linux_修改创建文件夹时默认权限(修改为能上传)

    1:查看当前权限 umask 0022 意思就是权限为:777-022 =755 读 2:临时修改 umask 020 020 意思为:777-020=757 读写上传 3:永久修改 回到根目录 cd ...

  5. linux_文件权限

    权限贯穿linux整个系统 创建文件或目录,属主和组都是当前用户 linux权限位? 9位基础权限位, 3位一组,总共12位权限 用户对文件权限,相当于你的笔记本 r      读    4 w    ...

  6. linux_修改文件权限chmod 、改变文件/目录所有者chown

    chmod使用事例 数字方法 chmod -R 751 [FILE] ugoa方法 chmod -R u=wrx,g=rx,o=x [FILE] 说明 chmod [OPTION] [MODE] [F ...

  7. Linux_用户和权限管理

    目录 目录 用户管理基础知识 用户管理指令 useradd userdel passwd usermod chage su id who chmod chown s权限t权限 acl 用户管理基础知识 ...

  8. Linux_用户权限管理

    目录 目录 用户管理 useradd创建用户 userdel删除用户 usermod修改用户账号 passwd修改用户密码 用户权限设置 用户组管理 查看用户的属组 修改用户组gpasswd 为没有家 ...

  9. Linux_目录基本操作_常用命令【详解】

    Linux_常用命令 Linux文件系统的目录树结构:[Linux世界里一切皆文件]:说白了,就是文件和文件夹(目录)之间的操作. 普通用户kkb所有文件及文件夹,其实都位于root用户的 /home ...

随机推荐

  1. Android中log使用方法

    private static final String ACTIVITY_TAG="MainActivity"; Log.v(MainActivity.ACTIVITY_TAG, ...

  2. MapKit的使用显示当前位置

    1.添加MapKit.framework框架 ,在plist中添加字段,用于,获取用户当前位置设置 NSLocationAlwaysUsageDescription 2.代码 #import &quo ...

  3. Activity之间传递数据的方式及常见问题总结

    Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...

  4. Almost Sorted Array

    http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=646&pid=1006 #include<iostream> ...

  5. css整理-05 边框,背景和浮动,定位

    边框 样式:border-style hidden, dotted, dashed, solid , double, groove, ridge, inset, outset 最不可预测的是doubl ...

  6. js 的一点用法

     js 中的json对象,ajax返回数据dataType为json否则无法将数据转换成json对象 也就无法通过json字符串转换成对象object,那么他将始终是个字符串,也就无法进行 对象操作. ...

  7. 我的DbHelper数据操作类

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  8. 20145308刘昊阳 《Java程序设计》第6周学习总结

    20145308刘昊阳 <Java程序设计>第6周学习总结 教材学习内容总结 第10章 输入/输出 10.1 InputStream与OutputStream 10.1.1 串流设计概念 ...

  9. sed 格式化输出df -h

    df -h|sed '1d;/ /!N;s/\n//;s/ \+/ /;' 1d——————删除第一行 / /!N——————没有空格的行执行N 例子中没有空格的行 /dev/mapper/vg_ds ...

  10. Codeforces Round #235 (Div. 2) B. Sereja and Contests

    #include <iostream> #include <vector> #include <algorithm> using namespace std; in ...