linux 中文件权限的相关操作

查看文件详情

    mkdir test
    cd ./test
    mkdir dir
    touch file
    ls -lh
    # 显示一下类容
        drwxr-xr-x 2      root root   4.0K  7月 30 22:33    dir
        -rw-r--r-- 1      root root      0  7月 30 22:35    file
    #表示
    #文件类型 权限 硬链接数 用户 用户组 文件大小 创建(修改)日期 文件名

    ls -dlh dir     # 只显示dir目录的信息
    ls -flh file    # 只显示file文件的信息

文件类型

linux中没有扩展名的概念,使用文件类型区分文件

- 普通文件

d 目录 (directory)

b 块设备 (block)

c 字符设备 (char)

l 符号链接(软链接 link),类似window中的快捷方式

p 管道 (pipe)

s 套接字 (socket)

文件权限

drwxr-xr-x 中第一位表示文件类型。d 表示目录。- 表示普通文件。当然还有其他类型的文件。 后面的9位分为3位一组。

rwx 分别表示 r (read) 可读,w (write) 可写,x (execute) 可执行,- 表示没有权限。

对于目录。 x 表示可进入目录。 r 表示显示目录内的文件。 w 表示可修改目录内文件。 其中 x 是必须的。rw 都必须要依赖 x 的权限

字符表示

  • r 可读(read)
  • w 可写(write)
  • x 可执行(execute)

数字(八进制)表示

创建新的⽂件有默认权限,是用 umask 值计算的,默认为446

  • x 用数字 1 表示
  • w 用数字 2 表示
  • r 用数字 4 表示
  • xw 用数字 3 表示
  • xr 用数字 5 表示
  • wr 用数字 6 表示
  • rwx 用数字 7 表示

chmod命令

将每个文件的权限模式变更至指定模式。

用法:chmod [选项]... 模式[,模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference=参考文件 文件...

    touch file
    # chmod u(user) g(group) o(others)     a(all)
    #       用户     用户组    其他用户      全部(包括用户,用户组,其他用户)
    # chmod u+  添加权限 
    # chmod g-  减少权限
    # chmod a=  设置权限

    chmod u=rwx file # 给file文件所属用户设置 rwx 权限
    chmod a=rwx file # 给file文件全部用户和用户组设置 rwx 权限
    chmod 777 file   # 相当于 a=rwx   

    chmod 666 file   # 给file文件用户,用户组,其他用户设置 rw 权限 
    chmod a=rw file  # 相当于 chmod 666 file

chown命令

    chown --help
    useradd user
    chown user ./dir        # 将dir目录的所属用户改为user用户
    chown :user ./dir       # 将dir目录的所属用户组改为user用户组
    chown user:user ./dir   # 将dir目录的所属用户和用户组改为user用户和user用户组

修改文件的所有者和/或所属组为给定的<所有者>和/或<组>

用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...

chgrp命令

改变文件的组所有权

用法:chgrp [选项]... 用户组 文件...

    chgrp --help
    chgrp root ./dir   # 将dir目录的所属用户组改为root用户组

#和$的区别

在shell终端中:

# 开头表示当前运行的是root用户

$ 开头表示当前运行的是普通用户

posted @ 2019-07-31 01:38  氵灬  阅读(147)  评论(0)    收藏  举报