一、权限的基本概念                                                  

权限:访问计算机资源或服务的访问能力。

Linux中,每一个资源或者服务的权限,分别定义了三组用户的使用能力。

  • 文件的属主(u)
  • 文件的属组(g)
  • 其他用户(o)

对于每一类用户来说,可以对某个文件有三种权限:

  • r:可读,可以使用类似cat,more,less等命令查看文件内容。
  • w:可写,可以编辑或者删除此文件。
  • x:可执行,可以在命令提示符下,当做命令提交给内核运行,一般对文件默认没有此权限,否则可能执行恶意代码。

对于目录来说,

  • r:可以对此目录执行ls以列出内部的所有文件
  • w:可以在此目录中创建文件。
  • x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息。

进程的安全上下文(secure context): 进程是用户发起的,是用户操作计算机的代理。进程也是有属组和属主的。谁发起的进程,进程就以谁的身份运行。比如,A和B同时执行ls命令,这两个进程属 主不同,因此获得对某文件的权限也不同,如果文件的属主刚好和进程A的属主相同,那么A就可以访问该文件,也就是说有访问权限。如下代码,drwxr-xr-x 3 root root 4096 Oct 16 20:57 m,第一个字段drwxr-xr-x中rwx为属主的权限,r-x为属组的权限,r-x为其他用户的访问权限。第三个字段便是属主,第四个字段是属组。

root@hao:~# ls -l
total 8
drwxr-xr-x 3 root root 4096 Oct 16 20:57 m
drwxr-xr-x 2 root root 4096 Oct 16 22:00 test

 二、权限管理                                                         

 1、chown(chage owner)改变文件属主

只有管理员才可以改变文件属主

命令格式:chown username file...更改文件的属主

     chown  username:groupname file...更改文件的属主和属组

     chown :groupname file 更改文件的属组

[hadoop@hao tmp]$ ll /tmp
total 40
-rw-rw-r--. 1 hadoop hadoop 0 Nov 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:21 b.hadoop
...
[root@hao ~]# chown hao /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 40
-rw-rw-r--. 1 hao hadoop 0 11?. 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 11?. 4 12:21 b.hadoop
... [root@hao ~]# mkdir /tmp/testdir
[root@hao ~]# ll /tmp
total 44
-rw-rw-r--. 1 hao hadoop 0 Nov 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:21 b.hadoop
...
drwxr-xr-x. 2 root root 4096 Nov 4 13:53 testdir
[root@hao ~]# chown hao /tmp/testdir
[root@hao ~]# ll /tmp
total 44
-rw-rw-r--. 1 hao hadoop 0 Nov 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:21 b.hadoop
...
drwxr-xr-x. 2 hao root 4096 Nov 4 13:53 testdir

命令选项:

  -R:修改目录及其内部文件的属主。不使用该选项时,只更改目录的属主,不更改目录内文件的属主。

  --reference:更改文件的属主为指定文件的属主。chown --reference =/path file...

[root@hao ~]# ll /tmp
total 44
-rw-rw-r--. 1 hao hadoop 0 Nov 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:21 b.hadoop
...
[root@hao ~]# chown --reference=/tmp/b.hadoop /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
-rw-rw-r--. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:21 b.hadoop
...

2、chgrp(change group)修改属组

使用方法同上。

3、chmod 更改文件权限

  a、修改三类用户的权限

  命令格式:chmod MODE filename...

  命令选项:

    -R:

    --reference:

  如下代码是更改test文件的三类用户权限为750即为rwxr-x---

chmod 750 test

  b、修改某类用户或某些类用户权限

  命令格式:chmod 用户类别=MODE filename

[root@hao ~]# ll /tmp
total 44
-rw-rw-r--. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...
[root@hao ~]# chmod u=rw /tmp/a.hadoop
[root@hao ~]# chmod g=rw /tmp/a.hadoop
[root@hao ~]# chmod o=rw /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
-rw-rw-rw-. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...
[root@hao ~]# chmod og=r,u=w /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
--w-r--r--. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...

  c、修改某类用户的某位或某些位权限

  命令格式:chmod 用户类别+(-)MODE filename

[root@hao ~]# chmod a+r /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
-rw-r--r--. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...
[root@hao ~]# chmod a-r /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
--w-------. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...
[root@hao ~]# chmod u+r /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
-rw-------. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...
[root@hao ~]# chmod u+r,g+x /tmp/a.hadoop
[root@hao ~]# ll /tmp
total 44
-rw---x---. 1 hadoop mygroup 0 Nov 4 12:09 a.hadoop
...

【linux】linux权限管理的更多相关文章

  1. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  2. Linux目录权限管理

    Linux目录权限管理   实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...

  3. Linux 文件权限管理

    1.文件权限的概述 在Linux系统下,使用权限来保护资源的安全将是一种不错的选择.系统中每个文件的权限都有可读(r).可写(w)和可执行(x)这三种权限,它们分别对应权限数值4.2 和1.系统为每个 ...

  4. Linux系统文件权限管理(6)

    Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...

  5. Linux命令--权限管理

    chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : 所有使用者 语法 chmod [-cfvR ...

  6. Linux的权限管理操作-Linux从入门到精通第七天(非原创)

    文章大纲 一.权限概述二.权限设置三.属主与属组设置四.扩展五.学习资料下载六.参考文章 一.权限概述 总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner.group.other ...

  7. [Linux] 010 权限管理命令 chmod

    1. 权限管理命令:chmod 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 ...

  8. 一个故事看懂Linux文件权限管理

    前情回顾: 我通过open这个系统调用虫洞来到了内核空间,又在老爷爷的指点下来到了sys_open的地盘,即将开始打开文件的工作. 详情参见:内核地址空间大冒险:系统调用 open系统调用链 我是一个 ...

  9. chmod g+s 、chmod o+t 、chmod u+s:Linux高级权限管理

    关于linux下权限操作chmod的一些说明!比rxw高级内容! 转载自http://blog.chinaunix.net/uid-26642180-id-3378119.html Set uid, ...

  10. Linux chmod权限管理需要小心的地方

    档案的权限管理和简单,比如chmod 775 /tmp/test.sh 另外使用chmod +w /tmp/test.sh,会给档案的拥有者,群组,其他人的权限都加上了可编辑.这样就有安全隐患了.所以 ...

随机推荐

  1. ngular6开发不完全笔记(二)-- 管道

    自定义管道 管道(过滤器)为过滤数据显示下列list数据 pip.ts 文件 import { Pipe, PipeTransform } from '@angular/core'; import { ...

  2. Redis之Python 使用 Redis

    Python 使用 Redis 参考文档: http://redis.cn/clients.html#python https://github.com/andymccurdy/redis-py 安装 ...

  3. CF_884_F(NetFlow)

    codeforces_884_f 题目大意:给出一串长为n的字符串(保证n为偶数),定义反回文串为每一个位置的对应位置上的字母都不等于它(for each i : s[i] != s[n+1-i]), ...

  4. lxml.etree去除子节点

    去除etree中的某个子节点有两种方法: 1.parentnode.remove(node) 2.etree.strip_elements(html, 'element_name', with_tag ...

  5. UVa 11609 组队(快速幂)

    https://vjudge.net/problem/UVA-11609 题意: 有n个人,选一个或多个人参加比赛,其中一名当队长,有多少种方案?如果参赛者完全相同,但队长不同,算作不同的方案. 思路 ...

  6. SDK manager 中 Done loading packages 问题

    1.在选项栏中点击tools,选择Optons… 在弹出的设置窗口中勾选Force https://…sources to be fetched using http://… 然后点击Close 4. ...

  7. CSS再学习 之背景色 背景图片

    背景色 p {background-color: gray;} 如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距. p {background-color: gray; padding: ...

  8. 使用 if 表达式

    由于 if 本质上是一个原函数,它的返回值就是满足条件分支表达式的值,因此,if 表达式也可以用作内联函数.我们以 check_positive( )为例进行说明.尽管条件表达式中不另写 return ...

  9. Java网络编程学习A轮_05_Socket编程

    示例代码: https://github.com/gordonklg/study,socket module A. Socket 编程简单例子 最简单的 Socket 编程是通过回车/换行符,整行读取 ...

  10. Tensorflow一些常用基本概念与函数(一)

    1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf. ...