• Linux权限管理


    1 概述

    文件或目录的访问权限分为只读,只写和可执行三种

    只读权限表示只允许读其内容,而禁止对其做任何的更改操作

    可执行权限表示允许将该文件作为一个程序执行

    文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限

    以便于对文件的阅读和修改

    有三种不同类型的用户可对文件或目录进行访问:

    文件所有者,同组用户、其他用户

    -rwxr-xr-x. 6 root root         120 8月   4 08:58     cpu

    第一列:表明权限 10位,4个部分

                     第一部分,1位,文件类型  -

    - 表示所有文件

                                  d目录

    l符号链接

    c’字符专门设备文件

    b块专门设备文件

    p先进先出

    s套接字

                     第二部分,2-4位,用户权限

                     第三部分,5-7位,组权限

                     第四部分,8-10位,其它用户权限

    第二列:链接数量

    第三列:属主用户

    第四列:属组

    第五列:文件大小

    第6、7、8列:最后一次访问时间

    第九列:文件名称

                Linux 文件名称不是通过后缀区分,通过文件类型

                文件名称没有限制("/"除外)

                建议命名时候加后缀

    数字法权限:
    r:对应数值4

    w:对应数值2

    x :对应数值1

    444 r–r–r–

    600 rw——-

    644 rw-r–r–

    666 rw-rw-rw-

    700 rwx——

    744 rwxr–r–

    755 rwxr-xr-x

    777 rwxrwxrw

    2 文件类型

    d 目录文件

    目录, 能用 # cd 命令进入的。权限中第一个属性为 d

    l 符号链接

    类似Windows下面的快捷方式

    s 套接字文件

    可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型

    b 块设备文件,二进制文件

    存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件

    c 字符设备文件

    即串行端口的接口设备,例如键盘、鼠标等等

    p 命名管道文件

    FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。

    - 普通文件

    Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]

    3 相关命令

    chmod变更文件或目录的权限

    概要

    chmod [OPTION]... MODE[,MODE]... FILE...

    chmod [OPTION]... OCTAL-MODE FILE...

    chmod [OPTION]... --reference=RFILE FILE...

    主要用途

    通过符号组合的方式更改目标文件或目录的权限。

    通过八进制数的方式更改目标文件或目录的权限。

    通过参考文件的权限来更改目标文件或目录的权限。

    参数

    mode:八进制数或符号组合。

    file:指定要更改权限的一到多个文件。

    选项

    -c:当文件的权限更改时输出操作信息。

    -f,:抑制多数错误消息的输出。

    -R:对目录以及目录下的文件递归执行更改权限操作。

    返回值

    返回状态为成功除非给出了非法选项或非法参数。

    例子

    # 添加组用户的写权限。

    chmod g+w ./test.log

    # 删除其他用户的所有权限。

    chmod o= ./test.log

    # 使得所有用户都没有写权限。

    chmod a-w ./test.log

    # 当前用户具有所有权限,组用户有读写权限,其他用户只有读权限。

    chmod u=rwx, g=rw, o=r ./test.log

    chown 变更文件或目录的拥有者或所属群组

    只有文件主和超级用户才可以便用该命令。

    语法

    chown(选项)(参数)

    选项

    -c:效果类似“-v”参数,但仅回报更改的部分;

    -f:不显示错误信息;

    -h:只对符号连接的文件作修改,而不更改其他任何相关文件;

    -R:递归处理,将指定目录下的所有文件及子目录一并处理;

    -v:显示指令执行过程;

    参数

    用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;

    文件:指定要改变所有者和工作组的文件列表。

    实例

    将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu:

    chown -R liu /usr/meng

          

          

    chgrp 改变文件或目录所属的组。

    语法

    chgrp [选项] group filename¼

    参数:

    -c: 效果类似”-v”参数,但仅回报更改的部分。

    -f: 不显示错误信息。

    -h: 只对符号连接的文件作修改,而不更动其他任何相关文件。

    -R: 递归处理,将指定目录下的所有文件及子目录一并处理。

    -v: 显示指令执行过程。

    该命令改变指定指定文件所属的用户组。

    其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。

    文件名是以空格分开的要改变属组的文件列表,支持通配符。

    如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

    更改/tmp/test/1.png 的组为 test

    [root@localhost test]# chgrp  -R test /tmp/test/1.png

    [root@localhost test]# ll

    总用量 24

    -rw-r--r--. 1 root test     0 8月   4 14:19 1.png

    参考

    https://blog.csdn.net/rong0913/article/details/79233956

    https://blog.csdn.net/luxunlx123/article/details/104499677

    https://www.cnblogs.com/zhangym/p/5826200.html

    https://blog.csdn.net/MrDongShiYi/article/details/81625172

  • 相关阅读:
    5-4 链表的天然递归结构性质
    java8 Optional 解析
    [leetcode] Unique Binary Search Trees
    [leetcode] Anagrams
    [leetcode] Valid Number
    构造素数表2
    构造素数表1
    整型所占字节
    习题7-8 字符串转换成十进制整数
    习题7-7 字符串替换
  • 原文地址:https://www.cnblogs.com/ZhouJiaHao/p/13439182.html
Copyright © 2020-2023  润新知