一、用户、组、权限
Unix和Linux系统都是多用户、多任务的系统,所以这样的系统里面就拥有了用户、组的概念,那么同样文件权限也就有相应的所属用户和所属组了
二、Mac文件属性
我们通过ls -l命令查看某个目录时可以看到这些信息,从左向右分别为
- 权限
r(read读)、w(write写)、x(execute执行) - 链接数
- 所有者
- 所属组
- 文件大小
- 最后修改日期
- 文件名称
单看权限这一项分为四个部分,从左向右分别为
- 文件类型
d(directory目录)、-(文件) - 文件所有者权限(从左到右分别为读、写、可执行权限,
-表示无此权限) - 同组用户权限(从左到右分别为读、写、可执行权限,
-表示无此权限) - 非同组用户权限(从左到右分别为读、写、可执行权限,
-表示无此权限)
2.1 数字类型
各个权限数字对照表:r:4 w:2 x:1,二进制表示每一个权限都是通过位移运算来表示的
r: 0100 = 4w: 0010 = 2x: 0001 = 1
如果所有权限都有就是0111也就是7也就是rwx,如果权限都没有就是0000也就是0也就是---
如果一个文件权限为-rwxr-xr-x
- 这是一个文件
- User: 4+2+1=7
- Group: 4+0+1=5
- Other: 4+0+1=5
2.2 符号权限
chmod [u、g、o、a] [+(加入)、-(除去)、=(设置)] [r、w、x] 文件名
u:user(所有者)g:group(同组用户)o:other(其他)a:all(所有)
三 chmod命令
我们新建一个文件test.txt并查看其权限
3.1 练习一
如果我想设置文件所有者权限为rwx我可以这样做
方式一:
chmod u=rwx test.txt
方式二:
chmod u+rwx test.txt
方式三:
chmod 744 test.txt
3.2 练习二
我想给文件所有者去掉写的权限可以这么做
方式一:
chmod u-w test.txt
方式二:
chmod u=rx test.txt
方式三:
chmod 544 test.txt
3.3 练习三
我想给所有用户授予所有权限(rwx)
chmod 777 test.txt
我想给所有用户不授予任何权限(---)
chmod 000 test.txt
3.4 默认用户
我这么执行结果是什么???
chmod +x test.txt
我们看到默认选择所有用户a,到这里为止我们已经对chmod指令有了一定了解了撒花✿✿ヽ(°▽°)ノ✿