shell/文件权限操作

技术文档网 2021-04-15

文件安全与权限

文件类型

  • d 目录
  • l 符号连接
  • s 套接字文件
  • b 块设备文件
  • c 字符设备文件
  • p 命名管道文件
    • 普通文件

改变权限

符号模式

chmod [who] operator [permission] filename

who的含义是:

  • u 文件属主权限。
  • g 同组用户权限。
  • o 其他用户权限。
  • a 所有用户(文件属主、同组用户及其他用户 )。

operator的含义:

    • 增加权限。
    • 取消权限。
  • = 设定权限。

permission的含义:

  • r 读权限。
  • w 写权限。
  • x 执行权限。
  • s 文件属主和组s e t - I D。
  • t 粘性位*。
  • l 给文件加锁,使其他用户无法访问。

例如:

chmod u+x o-w myfile

绝对模式

chmod [mode] file

mode是一串三位的数字,如664,每位数字分别对应文件属主、同组用户、其他用户的二进制数的十进制表示。r-w-x对应4-2-1。

例如:

chmod 755 myfile

chown和chgrp

chown

改变文件的拥有者

chown -R -h owner file

例如test文件由aaa交给bbb:

chown bbb test

chgrp

改变文件所属用户组,如由aaa变为bbb用户组:

chgrp bbb file

chmod、chown、chgrp命令加-R参数意味着对所有子目录下的文件也都进行同样的操作,-h参数意味着在改变符号连接文件的属主时不影响该连接所指向的目标文件。

符号链接

ln [-s] source_path target_path

这里的软链接实际上就是一个指向文件的指针,如:

ln -s /usr/local/doing doing

相关文章

  1. wget批量下载gitlab uploads的文件和图片

    背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件

  2. shell/设置外网访问权限

    /sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所

  3. shell/文件权限操作

    文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator

  4. shell/条件测试

    测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否

  5. 常用shell命令

    常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文

随机推荐

  1. wget批量下载gitlab uploads的文件和图片

    背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件

  2. shell/设置外网访问权限

    /sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所

  3. shell/文件权限操作

    文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator

  4. shell/条件测试

    测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否

  5. 常用shell命令

    常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文