zoukankan      html  css  js  c++  java
  • 【linux】linux权限管理

    一、权限的基本概念                                                  

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

    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
    ...
    复制代码
  • 相关阅读:
    一点点深夜感慨(还有居家学习日常)
    区间dp 矩阵连乘
    logstash grok match 对等于号,和中括号做筛选
    grok内置的默认类型有很多种,查看所有默认类型
    python开发技术要求
    django--models操作--备注
    django程序--settings.py文件备注
    django-admin 命令备注
    官网提供jumpserver安装文档--复盘 CentOS 7 安装文档
    安装jumpserver,提示错误
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/5407975.html
Copyright © 2011-2022 走看看