02.Linux系统基本权限
1.权限修改命令chmod
2.属主属组修改命令chown
3.基础权限设置案例
Linux中的⽂件或⽬录的权限和⽤户及⽤户组关联很⼤,Linux中每个⽂件或⽬录都有⼀组共9个基础权限位,每三
个字符被分为⼀组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他⽤户权限位(占三个字符)
⽐如 rwxr-xr-x linux中正是这9个权限位来控制⽂件属主(User)、属组(Group)、其他⽤户(Other)基础权限。
⽤户对资源来说, 有三种⻆⾊
User(u): 属主⽤户(⽂件所有者)
Group(g): 属组⽤户(包含组成员)
Other(o): 匿名⽤户(其他⼈)
//⼀个⽤户访问⽂件流程如下
判断⽤户是否为⽂件的所有者,如果是,按所有者的权限进⾏访问
判断是否为⽂件的所有组成员,如果是,就按组的权限去访问
最终⽤户就是⽂件的其他的⼈,按其他⼈的权限去访问
rwx, rwx, r-x
User Group Other
权限与属主属组
⽂件权限对应表
vx: WingspanGo
vx: WingspanGo
字⺟ 含义 对应权限
r(read) 读取权限 4
w(write) 写⼊权限 2
x(execute) 执⾏权限 1
-(没有权限) 没有权限 0
如果权限位不可读、不可写、不可执⾏,则⽤-来表示。
权限与属主属组作⽤示例图
chown: Linux中⽤来改变某个⽂件属主的命令, 如漫画中所示, 将某个"资源"(⻔)的访问权限给予别⼈。(卖房)
chmod: Linux中⽤来改变某个⽂件的访问模式的命令, 如漫画中所示, chmod 777 会将⼤⻔敞开, 谁都可以进出。
(租房)
1.权限修改命令chmod
chmod //修改⽂件⽬录权限rwx -R级联修改
2.属主属组修改命令chown
3.基础权限设置案例
mkdir dir //建⽴⽬录
touch dir/file //建⽴⽂件
示例1:
chmod 777 dir/ //修改dir⽬录权限为777
chmod u+rwx,g+rwx,o+rwx
示例2:
chmod 666 dir/file //修改file⽂件权限为666
chmod u+rw,g+rw,o+rw
示例3:
chmod -R 766 dir/ //修改⽬录及⼦⽬录权限
chown //更改属主以及属组 -R:级联修改
mkdir dir //创建⽬录
touch dir/file_test //创建⽂件
mkdir dir/dir_test //创建⽬录
示例1:
chown bin dir/ //修改所属主为bin
ll -d dir/ //检查属主
drwxr-xr-x 2 bin root 4096 7⽉ 22 00:50 dir/
示例2:
chown .adm dir/ //修改所属组为adm
ll -d dir/ //检查属组
drwxr-xr-x 2 bin adm 4096 7⽉ 22 00:50 dir/
示例3:
chown -R root.root dir/ //递归修改⽬录及⽬录下的所有⽂件属主和属组
权限 对⽂件的影响 对⽬录的影响
读取权限(r) 具有读取\阅读⽂件内容权限 具有浏览⽬录及⼦⽬录
写⼊权限(w) 具有新增、修改⽂件内容的权限 具有增加和删除⽬录内⽂件
执⾏权限(x) 具有执⾏⽂件的权限 具有访问⽬录的内容(取决于⽬录中⽂件权限)
⽂件权限实验案例:
rwx 对⽂件的影响
读取权限(r)
⽂件只有r权限: 具有读取\阅读⽂件内容权限
1.能使⽤查看类命令 cat、head、tail、less、more
2.不能复制、不能移动、不能编辑,不能删除
写⼊权限(w)
如果⽂件只有w权限: 具有新增、修改⽂件内容的权限
1.使⽤ vim 编辑会提示权限拒绝, 但可强制保存,会覆盖⽂件的所有内容
2.使⽤ echo、cat 命令重定向或追加重定向技术可以往⽂件内写⼊数据
3.不能复制、不能移动、不能删除,(删除需要看上级⽬录w的权限)
//默认⽂件匿名⽤户仅有读权限
[root@wing ~]# echo "date" >> filename
[root@wing ~]# ll filename
-rw-r--r-- 1 root root 5 Jan 24 08:24 filename
//测试读权限(⽆法执⾏或删除)
[root@wing ~]# su - bgx
[bgx@wing ~]$ cat /root/filename
date
//增加x执⾏权限
[root@wing ~]# chmod o+x /root/filename
[root@wing ~]# ll /root/filename
-rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename
//测试执⾏权限
[bgx@wing ~]$ /root/filename
Wed Jan 24 08:28:34 EST 2018
//增加w执⾏权限
[root@wing ~]# chmod o+w /root/filename
[root@wing ~]# ll /root/filename
-rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename
//测试执⾏权限
[bgx@wing ~]$ vim /root/filename
执⾏权限(x)
⽂件只有x权限,具有执⾏⽂件的权限。
//注意: 普通⽤户需要有r权限,管理员不需要
1.不能执⾏、查看、编辑、复制、移动、删除
⽬录权限实验案例:
rwx 对⽬录的影响
⽬录只有r权限: 具有浏览⽬录及⼦⽬录权限
1.能使⽤ls命令浏览⽬录及⼦⽬录, 同时会提示权限拒绝
2.能使⽤ls -l命令浏览⽬录及⼦⽬录, 会带问号,同时只能看到⽂件名
总结: ⽬录只有r权限,仅仅只能浏览内的⽂件名,⽆其他操作权限
写⼊权限(w)
如果⽬录只有w权限: 具有增加、删除或修改⽬录内⽂件名权限(需要x配合)
//注意: 如果⽬录有w权限, 可以在⽬录内创建⽂件, 删除⽂件(跟⽂件本身权限⽆关)
不能进⼊⽬录、不能复制⽬录、不能删除⽬录、不能移动⽬录
实战案例1: 对⽬录没有w,对⽂件有rwx
[root@wing ~]# mkdir /dirname
[root@wing ~]# echo "test" >> /dirname/filename
[root@wing ~]# chmod 777 /dirname/filename
[root@wing ~]# ll -d /dirname/
drwxr-xr-x 2 root root 22 Jan 24 08:40 /dirname/
[root@wing ~]# ll -d /dirname/filename
-rwxrwxrwx 1 root root 5 Jan 24 08:41 /dirname/filename
//普通⽤户验证权限
[bgx@wing ~]$ cat /dirname/filename
test
[bgx@wing ~]$ rm -f /dirname/filename
rm: cannot remove ‘/dirname/filename’: Permission denied
实战案例2: 对⽬录有w,对⽂件没有任何权限
[root@wing ~]# chmod 777 /dirname/
[root@wing ~]# chmod 000 /dirname/filename
[root@wing ~]# ll -d /dirname/
drwxrwxrwx 2 root root 22 Jan 24 08:40 /dirname/
[root@wing ~]# ll -d /dirname/filename
---------- 1 root root 5 Jan 24 08:41 /dirname/filename
file_wing//普通⽤户验证权限
[bgx@wing ~]$ cat /dirname/filename
cat: /dirname/filename: Permission denied
[bgx@wing ~]$ rm -f /dirname/filename
[bgx@wing ~]$ touch /dirname/filename_2
执⾏权限(x)
⽬录只有x权限
1.只能进⼊⽬录
2.不能浏览、复制、移动、删除
权限⼩结:
⽂件rw权限, 可以查看和编辑⽂件内容
⽂件rx权限, 只能查看和执⾏⽂件、不能编辑、复制、移动、删除
⽬录rx权限, 允许浏览⽬录内⽂件以及⼦⽬录、并允许在⽬录内新建⽂件, 不允许创建、删除⽂件和⽬录
注意事项:
⽂件, x权限⼩⼼给予,建议赋予r或rw即可
⽬录, w权限⼩⼼给予,建议⽆特殊需求赋予rx即可