大家好,我是半夏之沫 😁😁 一名金融科技领域的JAVA系统研发😊😊
我希望将自己工作和学习中的经验以最朴实,最严谨的方式分享给大家,共同进步👉💓👈
👉👉👉👉👉👉👉👉💓写作不易,期待大家的关注和点赞💓👈👈👈👈👈👈👈👈
👉👉👉👉👉👉👉👉💓关注微信公众号【技术探界】 💓👈👈👈👈👈👈👈👈
前言
本文会对Linux的文件权限进行说明,并给出赋权命令chmod的相关使用方式。
正文
一. 权限标志位说明
以文件权限755为例进行说明。
第一位数字表示文件所有者的权限;
第二位数字表示文件所有者同组用户的权限;
第三位数字表示公共用户的权限。
755权限表示出来就是rwxr-xr-x,r是读权限且值为4,w是写权限且值为2,x是执行权限且值为1。
二. chmod指令
chmod用于改变文件权限,说明如下。
- chmod 755 test.sh。将test.sh文件权限设置为755;
- chmod u+s test.sh。仅对文件生效,设置setuid位,即设置test.sh文件执行时拥有和test.sh文件所有者一样的权限;
- chmod g+s tmpdir。仅对目录生效,设置setgid位,即设置任何用户在tmpdir目录下创建的文件的所属组都和tmpdir目录所属组一样;
- chmod o+t tmpdir。通常对目录设置,设置sticky位,即设置所有用户都可以在tmpdir目录下创建文件,但不能删除其它非自己创建的文件;
- chmod -R a+rw /tmpdir。设置所有人都有 /tmpdir目录及子目录的读写权限。
假如test.sh权限为rwxrw-r-x,此时执行赋权命令和对应结果如下。
- chmod u+s test.sh,则权限变更为rwsrw-r-x;
- chmod g+s test.sh,则权限变更为rwxrwSr-x;
- chmod o+t test.sh,则权限变更为rwxrw-r-t;
也就是setuid,setgid和sticky复用原来的执行标志位x,并且原来如果设置了执行标志位x,则setuid,setgid和sticky设置时使用小写,否则使用大写。
之前使用像755这样的来表示基本的读,写和执行权限,现在在755前面再多加一位,表示setuid,setgid和sticky的特殊权限,规则如下。
- 4755。第一个八进制数字表示设置setuid;
- 2755。第一个八进制数字表示设置setgid;
- 1755。第一个八进制数字表示设置sticky。
即setuid值为4,setgid值为2,sticky值为1。
大家好,我是半夏之沫 😁😁 一名金融科技领域的JAVA系统研发😊😊
我希望将自己工作和学习中的经验以最朴实,最严谨的方式分享给大家,共同进步👉💓👈
👉👉👉👉👉👉👉👉💓写作不易,期待大家的关注和点赞💓👈👈👈👈👈👈👈👈
👉👉👉👉👉👉👉👉💓关注微信公众号【技术探界】 💓👈👈👈👈👈👈👈👈