Linux权限的概念(下)
补之前的一个东西:su如果不加-也可以切换root用户,跟su -的区别就是su -切换后返回根目录,而su还是在当前切换的目录
5.修改文件权限
- chmod 修改文件权限(读写执行,且是永久生效)
- chmod u(改的是拥有者)+(增加权限) / -(删除权限) file_name(文件名)
- chmod g(改的是所属组)+/- file_name
- chmod o(改的是其他人)+/- file_name
- 可以连着修改的例如:chmod u+rwx,g+rwx,o+rwx file_name
- chmod a(代表all就是所有的都一起加) +/- file_name
- root用户是几乎不受权限约束的,权限是用来约束普通用户的
- 权限的位置是确定的而且是两态的
- 拥有者权限的修改还可以用八进制来修改
- 原因:首先因为权限位置是确定的,是否就可以用0/1序列来表示
- 例如:- r w - r - - r - - 转换的话可以转化为1 1 0 1 0 0 1 0 0,然后能换算成八进制为6 4 4
- 改法:chmod 664 file_name
6.修改文件拥有者
- chown 修改文件拥有者
- chown user(要给的用户) file_name
- 但是如果是普通用户,这种更改拥有者的操作是不被允许的,需要sudo来提升权限
- 或者直接用root用户来修改
7.修改文件所属组
-
chgrp 修改文件所属组
-
同chown都是需要sudo或者转换成root用户
-
如果文件本身属于我们,那么我们要把组更改回来不需要sudo或者换成root用户,可以直接回收回来
-
修改文件拥有者和所属组可以同时修改具体操作:
sudo chown user:user file_name
-
8.有关目录文件操作
-
如果要进入目录,需要的权限是x(可执行权限)
-
如果只有读写没有可执行,linux最多可以查看到目录里面的文件名,其它查看操作都不支持
-
如果目录本身对other具有w权限,other可以删除任何的目录下的文件;如果目录本身对other没有w权限,other不可以删掉任何文件
- 有一种情况是让other可以创建和写入文件,但是不能删除原来目录中的文件
- 方法就是:粘滞位
- 操作:chmod o+t dir(目录名)
- 特点:只能对目录进行设置,一般是限制other权限的;对设置了粘滞位的目录,在改目录下,只有文件的拥有者(root)可以删除,其他人不能删除
- 在Linux里面的tmp目录就是用的粘滞位,tmp的用途就是用来存储的临时文件
- 有一种情况是让other可以创建和写入文件,但是不能删除原来目录中的文件
-
Linux默认权限
-
普通文件,起始权限(666)
-
目录文件,起始权限(777)
-
umask 权限掩码
(看后三位)
-
简单理解就是凡是在umask中出现的,都应在起始权限中去掉
-
具体理解就是 002 转换成二进制就是default = default & ~(mask)
等号右边default指(666),mask指的是(002)
000 000 010 (002) 110 110 110 (666) ------------------- 111 111 101 (取反) 110 110 110 ------------------- 110 110 100 (按位与)
最后的664就是普通文件的默认权限,目录文件同理
-
-
自定义默认权限
- umask 0333(后面的数字可以根据自己需要写)
- 定制的权限只有本次登录有效(可以通过更改系统文件来使其一直有效,但是不推荐这么操作)
-