17.用户权限作用和权限
#用户权限作用和权限
linux
是多用户的操作系统。而用户和用户之间对文件的归属权是有区分的。一个文件操作无非就是读、写和执行,跟其它的系统一样,linux
也是
把用户划分为3类---用户,用户组和其它用户,可以理解为在这个系统上,不仅有我,还有我们以及其它人。而这个3类用户对文件的操作权限可能不太一样.
如:
dev@macdeiMac-Pro$ ls -ahl
total 952
drwxr-xr-x 24 dev staff 816B Jun 10 00:44 .
drwxr-xr-x 4 dev staff 136B Jun 6 22:13 ..
drwxr-xr-x 15 dev staff 510B Jun 10 00:42 .docusaurus
drwxr-xr-x 14 dev staff 476B Jun 10 19:43 .git
-rw-r--r-- 1 dev staff 239B Jun 6 22:13 .gitignore
drwxr-xr-x 7 dev staff 238B Jun 10 19:43 .idea
-rw-r--r-- 1 dev staff 743B Jun 6 22:13 README.md
...
drwxr-xr-x
从第2个字符起,用户是rwx
对应read write exec(可读可写可执行), 中间是用户组,最后是其它用户。
用户组的操作
$ groupadd docker # 添加一个名为docker的用户组
$ gpasswd -a $USER docker # 把自己加入一个名为docker的用户组
$ newgrp docker #更新docker用户组
修改文件或目录的权限
$ touch permissionTest # 创建一个测试文件
$ ls -ahl
total 0
drwxr-xr-x 2 root root 28 Jun 10 20:13 .
dr-xr-x---. 3 root root 146 Jun 10 20:11 ..
-rw-r--r-- 1 root root 0 Jun 10 20:13 permissionTest
permissionTest
的用户、用户组和其它用户对应rw-
(可读写)、r--
(可读)和r--
(可读)
$ chmod u=wrx permissionTest #修改用户在文件中可读可写可执行
$ chmod ugo=wrx permissionTest #修改用户、用户和用户组在文件中可读可写可执行
$ chmod u+x permissionTest #为用户添加一个可执行权限
$ chmod u-x permissionTest #为用户去一个可执行权限
权限对应数字为: Permission numbers are:
- 0 = ---
- 1 = --x
- 2 = -w-
- 3 = -wx
- 4 = r-
- 5 = r-x
- 6 = rw-
- 7 = rwx
所以以上修改文件(或目录),也可以用数字来实现,如:
$ chmod 157 permissionTest #用户只能读 用户组只能执行和写,其它用户可读可写可执行
$ ls -ahl
total 4.0K
drwxr-xr-x 2 root root 28 Jun 10 20:29 .
dr-xr-x---. 3 root root 146 Jun 10 20:11 ..
---xr-xrwx 1 root root 8 Jun 10 20:29 permissionTest