ls -l 或 ll 中显示的内容如下:
drwxr-xr-x. 2 root root 60 1月 4 16:09 mapper
0-9位说明:
第0位确定文件类型(d,- , l ,c , b)
l 是链接,相当于windows的快捷方式。
- 是普通文件。
d 是目录,相当于windows的文件夹。
c是字符设备文件,鼠标,键盘。
b是块设备,比如硬盘。
第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User
第4-6位确定所属组(同用户组的)拥有该文件的权限。---Group
第7-9位确定其他用户拥有该文件的权限。---Other
rwx权限详解
rwx作用到文件
1)[r]代表可读(read):可以读取,查看。
2)[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
3)[x]代表可执行(execute):可以被执行。
rwxz作用到目录
1)[r]代表可读(read):可以读取,ls查看目录内容。
2)[w]代表可写(write):可以修改,对目录内创建+删除+重命名目录。
3)[x ]代表可执行(execute):可以进入该目录。
文件及目录权限实例
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型: - l d c b
其余字符每3个一组(rwx)读(r)写(w)执行(x)
第一组rwx: 文件拥有者的权限是读、写和执行。
第二组rw-: 与文件拥有者同一组的用户的权限是读、写但不能执行。
第三组r--: 不与文件拥有者同组的其他用户的权限是读不能写和执行。
可用数字表示为: r=4,w=2,x=1
因此rwx=4+2+1=7,数字可以进行组合其它说明。
其它说明:
1 文件:硬连接数或 目录:子目录数+文件数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示4096字节
Feb 2 09:39 最后修改日期
abc 文件名
修改权限
通过chmod指令,可以修改文件或者目录的权限。
第一种方式:
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
基本语法:
1)chmod u=rwx,g=rx,o=x 文件/目录名
2)chmod o+w 文件/目录名
3)chmod a-x 文件/目录名
例:
1)给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。chmod u=rwx,g=rx,o=rx abc
2)给abc文件的所有者除去执行的权限,增加组写的权限。chmod u-x,g+w abc
3)给abc文件的所有用户添加读的权限。chmod a+r abc
第二种方式:
通过数字变更权限 r=4 w=2 x=1
chmod u=rwx,g-rx,o=x 文件/目录名
相当于
chmod 751 文件/目录名
例:
将/home/abc.txt文件的权限修改成 rwx r-x r-x,使用给数字的方式实现。chmod 755 /home/abc.txt
修改文件/目录所有者
基本语法:
1)chown newowner 文件/目录 改变所有者
2)chown newowner:newgroup 文件/目录 改变所有者和所在组
3)-R 如果是目录则使其下所有子文件或目录递归生效
例:
1)请将/home/abc.txt文件的所有者修改成tom。 chown tom /home/abc.txt
2)请将/home/test目录下所有的文件和目录的所有者都修改成tom。 chown -R tom /home/test
修改文件/目录所在组
基本语法: chgrp newgroup 文件/目录 改变所在组
police , bandit
jack, jerry:警察
xh, xq:土匪
创建组
groupadd police
groupadd bandit
创建用户
useradd-g police jack
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq
jack 创建一个文件,自己可以读r写w,本组人可以读,其它组没人任何权限。
首先jack登录
vim jack.txt
chmod 640 jack.txt
jack 修改该文件,让其它组人可以读,本组人可以读写。
chmod o=r,g=r jack.txt
xh 投靠警察,看看是否可以读写。
usermod -g police xh
如果要对目录内的文件进行操作,需要要有对该目录的相应权限
建立两个组(神仙(sx),妖怪(yg))
groupadd sx
groupadd yg
建立四个用户并设置密码(唐僧,悟空,八戒,沙僧)
useradd ts passwd ts
useradd wk passwd wk
useradd bj passwd bj
useradd ss passwd ss
把悟空,八戒放入妖怪;唐僧,沙僧在神仙。
usermod -g yg wk
usermod -g yg bj
usermod -g sx ts
usermod -g sx ss
用悟空建立一个文件monkey.java(该文件要输出i am monkey)
首先登陆wk
vim monkey.java
给八戒一个可以 rw 的权限
chmod g+w monkey.java
八戒修改monkey.java 加入一句话(i am pig)
wk用户下 chmod g+r+w+x wk
bj用户下 cd /home/wk
vim monkey.java
把沙僧放入妖怪组
usermod -g yg ss
让沙僧修改该文件 monkey.java,加入一句话("我是沙僧,我是妖怪!")
root用户下 usermod -g yg ss
ss用户下 cd /home/wk
vim monkey.java
注:对文件夹rwx 的细节讨论
x:表示可以进入到该目录 ,比如cd [改]
r:表示可以ls ,将目录的内容显示 [查]
w:表示可以在该目录,删除或者创建文件。 [增 删]
本文章使用limfx的vscode插件快速发布