✨建议收藏✨Linux中的文件权限✨

942 阅读2分钟

可爱表情

大家好,我是半夏之沫 😁😁 一名金融科技领域的JAVA系统研发😊😊
我希望将自己工作和学习中的经验以最朴实最严谨的方式分享给大家,共同进步👉💓👈
👉👉👉👉👉👉👉👉💓写作不易,期待大家的关注和点赞💓👈👈👈👈👈👈👈👈
👉👉👉👉👉👉👉👉💓关注微信公众号【技术探界】 💓👈👈👈👈👈👈👈👈


前言

本文会对Linux的文件权限进行说明,并给出赋权命令chmod的相关使用方式。

正文

一. 权限标志位说明

以文件权限755为例进行说明。

第一位数字表示文件所有者的权限;

第二位数字表示文件所有者同组用户的权限;

第三位数字表示公共用户的权限。

755权限表示出来就是rwxr-xr-xr是读权限且值为4w是写权限且值为2x是执行权限且值为1

二. chmod指令

chmod用于改变文件权限,说明如下。

  1. chmod 755 test.sh。将test.sh文件权限设置为755
  2. chmod u+s test.sh。仅对文件生效,设置setuid位,即设置test.sh文件执行时拥有和test.sh文件所有者一样的权限;
  3. chmod g+s tmpdir。仅对目录生效,设置setgid位,即设置任何用户在tmpdir目录下创建的文件的所属组都和tmpdir目录所属组一样;
  4. chmod o+t tmpdir。通常对目录设置,设置sticky位,即设置所有用户都可以在tmpdir目录下创建文件,但不能删除其它非自己创建的文件;
  5. chmod -R a+rw /tmpdir。设置所有人都有 /tmpdir目录及子目录的读写权限。

假如test.sh权限为rwxrw-r-x,此时执行赋权命令和对应结果如下。

  1. chmod u+s test.sh,则权限变更为rwsrw-r-x
  2. chmod g+s test.sh,则权限变更为rwxrwSr-x
  3. chmod o+t test.sh,则权限变更为rwxrw-r-t

也就是setuidsetgidsticky复用原来的执行标志位x,并且原来如果设置了执行标志位x,则setuidsetgidsticky设置时使用小写,否则使用大写。

之前使用像755这样的来表示基本的执行权限,现在在755前面再多加一位,表示setuidsetgidsticky的特殊权限,规则如下。

  1. 4755。第一个八进制数字表示设置setuid
  2. 2755。第一个八进制数字表示设置setgid
  3. 1755。第一个八进制数字表示设置sticky

setuid值为4setgid值为2sticky值为1


大家好,我是半夏之沫 😁😁 一名金融科技领域的JAVA系统研发😊😊
我希望将自己工作和学习中的经验以最朴实最严谨的方式分享给大家,共同进步👉💓👈
👉👉👉👉👉👉👉👉💓写作不易,期待大家的关注和点赞💓👈👈👈👈👈👈👈👈
👉👉👉👉👉👉👉👉💓关注微信公众号【技术探界】 💓👈👈👈👈👈👈👈👈

吃东西的小埋