Linux权限详解
1 文件权限位说明:
Linux 文件或目录的权限是由9个权限位来控制,没三位为一组,她们分别是文件属主(Ower)的读,写,执行,用户组(Group)的读,写,执行;

每3位是一组权限:
文件属主:读r,写w,执行x
用户 组:读r,写w,执行x
其它用户:读r,写w,执行x
如果权限位不可读,不可写,不可执行,则用-来表示.
chmod 的数字方法的说明:
r 4
w 2
x 1
- 0
属主的数字权限表示法:
属主的数字权限为三个权限位的数字加起来的总和.
属组的数字权限表示法:
属组的的数字权限同样为中间三个权限位数字相加的总和.
其它用户的数字权限表示法:
其它用户数字权限同样.列子中是r-x,数字权限4+0+1=5
2.用户权限

属主属组权限:
环境准备:
groupadd incahome #创建用户组
useradd oldboy -g incahome #创建用户指定用户组
useradd oldgirl -g incahome ##创建用户指定用户组
usermod -g incahome oldboy #修改
usermod -g incahome oldgirl
useradd test
id oldboy
id olgirl
id test
文件的模拟测试准备:
mv /oldboy /tmp/oldboy_bak$(date +%F)
mkdir /oldboy –p
echo “echo oldboylinux” >/oldboy/test.sh
chmod +x /oldboy/test.sh
cat /oldboy/test.sh
ls -l /oldboy/test.sh
操作过程:
[root@oldbouedu-39 ~]# mv /oldboy /tmp/oldboy_bak$(date +%F)
[root@oldbouedu-39 ~]# mkdir /oldboy –p
[root@oldbouedu-39 ~]# echo “echo oldboylinux” >/oldboy/test.sh
[root@oldbouedu-39 ~]# chmod +x /oldboy/test.sh
[root@oldbouedu-39 ~]# cat /oldboy/test.sh
“echo oldboylinux”
[root@oldbouedu-39 ~]# ls -l /oldboy/test.sh
-rwxr-xr-x 1 root root 23 Apr 26 11:46 /oldboy/test.sh
对于文件rwx权限测试
修改test.sh属于的主和组
[root@oldbouedu-39 ~]# chown oldboy.incahome /oldboy/test.sh
[root@oldbouedu-39 ~]# ll /oldboy/test.sh
-r--r-xr-x 1 oldboy incahome 23 Apr 26 11:46 /oldboy/test.sh
测试r对于文件
[root@oldbouedu-39 ~]# ##测试r对于文件
[root@oldbouedu-39 ~]# chmod u=r /oldboy/test.sh
[root@oldbouedu-39 ~]# ls -l /oldboy/test.sh
-r--r-xr-x 1 oldboy incahome 23 Apr 26 11:46 /oldboy/test.sh
[oldboy@oldbouedu-39 oldboy]$ ###oldboy 测试 r
[oldboy@oldbouedu-39 oldboy]$ ls -l
total 4
-r--r-xr-x 1 oldboy incahome 23 Apr 26 11:46 test.sh
[oldboy@oldbouedu-39 oldboy]$ cat test.sh
“echo oldboylinux”
[oldboy@oldbouedu-39 oldboy]$ echo "pwd">>test.sh
-bash: test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied
测试w对于文件的权限:
[root@oldbouedu-39 ~]# ##root 测试w对于文件
[root@oldbouedu-39 ~]# chmod u=w /oldboy/test.sh
[root@oldbouedu-39 ~]# ll /oldboy/test.sh
--w-r-xr-x 1 oldboy incahome 23 Apr 26 11:46 /oldboy/test.sh
[oldboy@oldbouedu-39 oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ echo "pwd" >>test.sh
[oldboy@oldbouedu-39 oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ vim test.sh
[oldboy@oldbouedu-39 oldboy]$ ##oldbo用户对这个文件是 所有者
[oldboy@oldbouedu-39 oldboy]$ ##如果对这个文件只有w权限,如果强制修改原来的内 容消失
[oldboy@oldbouedu-39 oldboy]$ ##对于文件来说只有w权限 不够
[oldboy@oldbouedu-39 oldboy]$ ##对于文件来说w权限需要r的配合
[oldboy@oldbouedu-39 oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied
小结论:
1.r读取 显示文件的内容
2.w修改文件的内容,需要r权限的配合
测试x对于文件
[root@oldbouedu-39 ~]# ##root 测试x权限
[root@oldbouedu-39 ~]# chmod u=x /oldboy/test.sh
[root@oldbouedu-39 ~]# ll /oldboy/test.sh
---xr-xr-x 1 oldboy incahome 27 Apr 26 13:00 /oldboy/test.sh
[root@oldbouedu-39 ~]# cat
[root@oldbouedu-39 ~]# cat /oldboy/test.sh
“echo oldboylinux”
[oldboy@oldbouedu-39 oldboy]$ ###oldboy
[oldboy@oldbouedu-39 oldboy]$ ###测试x权限
[oldboy@oldbouedu-39 oldboy]$ ls -l test.sh
---xr-xr-x 1 oldboy incahome 27 Apr 26 13:00 test.sh
[oldboy@oldbouedu-39 oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ echo "pwd" >>test.sh
-bash: test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ /oldboy/test.sh
bash: /oldboy/test.sh: Permission denied
[oldboy@oldbouedu-39 oldboy]$ ###x权限需要r权限的配合
小结论:
#############################################
###总结对于文件来说rwx的含义 #
#1.r表示读取文件的内容 #
#2.w表示修改文件内容的权限 需要r权限的配合 #
#3.x表示执行/运行文件的权限 需要r权限的配合 #
用户和文件权限的关系:
[oldboy@oldbouedu-39 ~]$ #1.查看文件的权限
[oldboy@oldbouedu-39 ~]$ ls -l /etc/hosts
-rw-r--r--. 2 root root 183 Apr 26 18:43 /etc/hosts
[oldboy@oldbouedu-39 ~]$ #2.当前用户与文件是什么关系?
[oldboy@oldbouedu-39 ~]$ id oldboy
uid=500(oldboy) gid=501(incahome) groups=501(incahome)
[oldboy@oldbouedu-39 ~]$ #oldboy 与/etc/hosts 文件是陌生人关系
[oldboy@oldbouedu-39 ~]$ #oldboy对hosts只有r权限
范例:实际操作目录权限
r(read) ===目录里面的内容,文件,但是无法查看文件的属性信息
x(execute)===进入到目录权限cd
w(write)==对目录里面的内容进行 删除/创建/修改文件名
测试r对于目录的含意:
[root@oldbouedu-39 oldboy]# #root
[root@oldbouedu-39 oldboy]# #测试r对于目录
[root@oldbouedu-39 oldboy]# chmod u=r oldboydir/
[root@oldbouedu-39 oldboy]# ls -ld oldboydir/
dr--r-xr-x 2 oldboy incahome 4096 Apr 27 14:46 oldboydir/
[oldboy@oldbouedu-39 ~]$ ####oldboy
[oldboy@oldbouedu-39 ~]$ ###测试目录的r权限
[oldboy@oldbouedu-39 ~]$ cd /oldboy
[oldboy@oldbouedu-39 oldboy]$ pwd
/oldboy
[oldboy@oldbouedu-39 oldboy]$ ls -l
dr--r-xr-x 2 oldboy incahome 4096 Apr 27 14:46 oldboydir
---xr-xr-x 1 oldboy incahome 17 Apr 26 13:33 test.sh
#1)对于目录来说r表示查看目录里面的内容 但是需要x权限的配合
对于目录rwx权限测试2:
测试w对于目录的权限
[oldboy@oldbouedu-39 oldboy]$ ###oldboy
[oldboy@oldbouedu-39 oldboy]$ ##测试目录的w权限
[oldboy@oldbouedu-39 oldboy]$ ls -l
total 8
d-w-r-xr-x 2 oldboy incahome 4096 Apr 27 14:46 oldboydir
---xr-xr-x 1 oldboy incahome 17 Apr 26 13:33 test.sh
[oldboy@oldbouedu-39 oldboy]$ cd oldboydir/
-bash: cd: oldboydir/: Permission denied
[oldboy@oldbouedu-39 oldboy]$ touch oldboydir/oldboy.txt
touch: cannot touch `oldboydir/oldboy.txt': Permission denied
[oldboy@oldbouedu-39 oldboy]$ ##目录的w权限需要配合
[oldboy@oldbouedu-39 oldboy]$ #w与r
[oldboy@oldbouedu-39 oldboy]$ ls -l
total 8
drw-r-xr-x 2 oldboy incahome 4096 Apr 27 14:46 oldboydir
---xr-xr-x 1 oldboy incahome 17 Apr 26 13:33 test.sh
[oldboy@oldbouedu-39 oldboy]$ ##目录的w权限需要与x配合使用
2.对于目录来说w表示可以在目录里面进行创建 删除 修改文件名 同时w需要与x配合。
[oldboy@oldbouedu-39 oldboydir]$ rm /etc/hosts -f
rm: cannot remove `/etc/hosts': Permission denied
[oldboy@oldbouedu-39 oldboydir]$ #1.查看文件所在目录的权限
[oldboy@oldbouedu-39 oldboydir]$ ls -ld /etc/
drwxr-xr-x. 78 root root 4096 Apr 27 15:11 /etc/
[oldboy@oldbouedu-39 oldboydir]$ #2.oldboy对/etc目录有什么权限
[oldboy@oldbouedu-39 oldboydir]$ #3.oldboy用户对/etc有的权限是rx ls
[oldboy@oldbouedu-39 oldboydir]$ #4.删除一个文件 需要对这个文件所在的目录拥有wx权限
[oldboy@oldbouedu-39 oldboydir]$ #5.报错
删除一个文件要看这个文件所在目录权限,是否有wx权限
测试x对于目录的权限:
[oldboy@oldbouedu-39 oldboydir]$ ###root
[oldboy@oldbouedu-39 oldboydir]$ #测试x权限
总结对于目录来说rwx的含义:
1.r表示显示目录里面的内容,需要x的配合
2.w表示可以在这个目录里面创建删除重命名 需要x的权限配合。
3.x表示进入到目录的权限 显示文件属性的信息

浙公网安备 33010602011771号