zoukankan      html  css  js  c++  java
  • linux基础-第七单元 用户、群组及权限的深入讨论

    怎样查看文件的权限
    ls命令详解
    root用户及文件的安全控制
    什么是root用户
    用户分类
    文件操作权限
    文件操作权限的字符表示
    chown
    chgrp
    使用符号表示法设定文件或目录上的权限
    chmod命令的功能
    chmod命令的-R选项
    什么是符号表示法
    权限状态的3个部分
    符号表示法举例
    使用数字表示法设定文件或目录上的权限
    什么是数字表示法
    数字代表的资源权限状态
    数字表示法举例

    文件权限流程图详解


    课后作业
    【本节内容】
    1. 怎样查看文件的权限(详见linux系统管理P138)
    1) 掌握使用ls –l命令查看文件上所设定的权限。
    2) 掌握ls –l命令的显示结果中的第一列分成4组,其中;
    a) 第1个字符为第1组,代表这是一个文件(-)或是一个目录(d),也可以是其他资源。
    b) 第2、3、4个字符为第2组,定义了文件或目录的所有者(owner)所具有限的权,使用u代表所有者(owner)对文件的所有权限。
    c) 第5、6、7个字符为第3组,定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。
    d) 第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用户对文件或目录所具有的权限。使用o代表这一组(other)权限。

    3) 掌握ls –l命令的显示结果中的第三列、第四列为文件的属主和属组。


    2. root用户及文件的安全控制(详见linux系统管理P136)
    1) 掌握root用户的定义:root用户也称为超级用户,它可以完全不受限制地访问任何用户的账户和所有文件及目录。
    2) 了解Linux系统中用户分类:
    Linux系统是将系统中的所有用户分成了3类:
    a) 第1类:所有者
    b) 第2类:同组用户(修正:所属组,因为你创建一个用户的过程会以为这个用户名为名字创建一个同名的组)
    c) 第3类:非同组的其他用户
    3) 掌握文件操作权限包括读(read)、写(write)和执行(execute)
    4) 掌握Linux操作系统在显示权限时,使用如下4个字符来表示文件操作权限:
    a) r:表示read权限,也就是可以阅读文件或者ls命令列出目录内容的权限。
    b) w:表示write权限,也就是可以编辑文件或者在一个目录中创建和删除文件的权限。
    c) x:表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容的权限等。
    d) -:表示没有相应的权限(与所在位置的r、w或x相对应)。


    3. 掌握使用chown修改文件的属主
    chown 属主:属组 文件
    chown :属组 文件
    chown 属主 文件
    a) 例如,修改文件file1的属主为root的命令为:chown root file1


    4. 掌握使用chgrp修改文件的属组
    chgrp 属组 文件
    a) 例如,修改文件file1的属组为wg的命令为:chgrp wg file1


    5. 使用符号法设定文件或目录上的权限(详见linux系统管理P132)
    1) 掌握chmod命令的功能:设定或更改文件或目录上的权限。
    2) 掌握-R选项:不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。
    3) 掌握是符号表示法的定义:
    符号表示法是使用几个特定的符号来设定权限的状态。
    4) 掌握权限状态可以分为3个部分:
    a) 第1个部分,表示要设定或更改谁的权限状态。其中的具体表示如下:
    u:表示所有者(owner)的权限。
    g:表示群组(group)的权限。
    o:表示既不是owner也不与owner在同一个group的其他用户(other)的权限。
    a:表示以上3组,也就是所有用户(all)的权限。
    b) 第2部分,是运算符(operator),也有人称为操作符,其中的具体表示如下:
    +:表示加入权限
    -:表示去掉权限
    =:表示设定权限
    c) 第3部分,表示权限(permission),其中的具体表示如下:
    r:表示read(读)权限。
    w:表示write(写)权限。
    X:表示execut(执行)权限。
    5) 灵活应用符号表示法设定或更改文件或目录上的权限:
    a) 例如:在dog_wolf文件上添加所有者和同组用户的可执行权限的命令:
    chmod ug+x dog_wolf
    b) 例如:在babydog目录上为其他用户添加写权限的命令:
    chmod o+w babydog


    6. 使用数字表示法设定文件或目录上的权限(详见linux系统管理P143)
    1) 掌握数字表示法的定义:
    数字表示法是指使用一组三位数的数字来表示文件或目录上的权限状态。其中:
    第1个数字代表所有者(owner)的权限(u)。
    第2个数字代表群组(group)的权限(g)。
    第3个数字代表其他用户(other)的权限(o)。
    2) 数字代表的资源权限状态:
    4:表示具有读(read)权限。
    2:表示具有写(write)权限。
    1:表示具有执行(execute)权限。
    0:表示没有相应的权限。
    3) 灵活应用数字法表示法设定或更改文件或目录上的权限:
    a) 例如:使用数字表示法对owner开放/home/dog/babydog目录和其中所有文件的一切权限,但是对同组用户开放读和执行权限,而对其他用户只开放读权限的命令:
    chmod -R 754 /home/dog/babydog 


    7. 课后作业(用时60分钟)

    1) 在用户的主目录下创建目录test,进入test创建空文件file1

    [root@study ~]# cd /home/nulige/

    [root@study nulige]# mkdir test
    [root@study nulige]# cd test/
    [root@study test]# touch file1.

    2) 以长格式形式显示文件信息,注意文件的权限和所属用户和组

    [root@study test]# ls -l file1
    -rw-r--r-- 1 root root 0 11月 10 23:23 file1

    3) 为文件file1设置权限,使其他用户可以对此文件进行写操作。

    [root@study test]# chmod o+w file1
    [root@study test]# ls -l file1
    -rw-r--rw- 1 root root 0 11月 10 23:23 file1

    #切换用户

    [root@study ~]# su - huzhihua

    [huzhihua@study ~]$ cd /home/nulige/test/
    [huzhihua@study test]$ ll
    总用量 4
    -rw-r--rw- 1 root root 5 11月 10 23:33 file1

    #写点内容到文件中

    [huzhihua@study test]$ echo 1111 >file1

    4) 查看设置结果,

    [huzhihua@study test]$ cat file1 
    1111


    5) 取消同组用户对文件file1的读取权限,并查看设置结果。

    [root@study test]# ls -l file1
    -rw-r--rw- 1 root root 5 11月 10 23:33 file1

    [root@study test]# chmod g-r file1
    [root@study test]# ls -l file1
    -rw----rw- 1 root root 5 11月 10 23:33 file1


    6) 用数字表示法为文件file设置权限,所有者可读、可写、可执行,所属组用户和其他用户只具有读和执行的权限。设置完成后查看设置结果。

    [root@study test]# chmod 755 file1
    [root@study test]# ls -l file1
    -rwxr-xr-x 1 root root 5 11月 10 23:33 file1


    7) 用数字形式更改文件file1的权限,使所有者只能读取此文件。其他任何用户都没有权限。查看设置结果。

    [root@study test]# chmod 400 file1
    [root@study test]# ls -l file1
    -r-------- 1 root root 5 11月 10 23:33 file1

    8) 回到上层目录,查看test的权限

    [root@study test]# cd ..

    [root@study nulige]# ll
    总用量 8
    drwxr-xr-x 2 root root 4096 11月 10 23:23 test


    9) 为其他用户添加对此目录的写权限

    [root@study nulige]# chmod o+w test
    [root@study nulige]# ll
    总用量 8
    drwxr-xrwx 2 root root 4096 11月 10 23:23 test

    #切换其它用户,并写入文件测试

    [root@study ~]# su - huzhihua
    [huzhihua@study ~]$ cd /home/nulige/test/
    [huzhihua@study test]$ touch test01.txt
    [huzhihua@study test]$ ll
    总用量 4
    -r-------- 1 root root 5 11月 10 23:33 file1
    -rw-rw-r-- 1 huzhihua huzhihua 0 11月 11 00:02 test01.txt

  • 相关阅读:
    java io系列23之 BufferedReader(字符缓冲输入流)
    java io系列22之 FileReader和FileWriter
    java io系列21之 InputStreamReader和OutputStreamWriter
    java io系列20之 PipedReader和PipedWriter
    java io系列19之 CharArrayWriter(字符数组输出流)
    java io系列18之 CharArrayReader(字符数组输入流)
    java io系列17之 System.out.println("hello world")原理
    java io系列16之 PrintStream(打印输出流)详解
    java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
    java io系列14之 DataInputStream(数据输入流)的认知、源码和示例
  • 原文地址:https://www.cnblogs.com/nulige/p/6052922.html
Copyright © 2011-2022 走看看