Linux组和权限管理
在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者,所在组,其他组的概念
文件/目录的所有者
一般为文件的创建者,谁创建了该文件就自然的成为了该文件的所有者
ls -ahl 查看文件的所有者
chown 用户名 文件名 修改文件所有者
chgrp 组名 文件/目录 修改文件所在的组
usermod -g 新组名 用户名 改变用户所在组
usermod -d 目录名 用户名 改变该用户登录的初始目录,用户需要有进入到新目录的权限
权限
ls -l查看文件的具体信息
0-9位说明
1.第0位确定文件类型
-普通文件
l是链接,相当于Windows的快捷方式
d是目录
c是字符设备文件,鼠标,键盘
b是块设备,比如硬盘
2.第1-3位确定所有者(该文件的所有者)拥有该文件的权限 —User
3.第4-6位确定所属组(同用户的组)拥有该文件的权限 —Group
4.第7-9位确定其他用户拥有该文件的权限 —Other
红色第0位,代表文件的类型
黄色第1-3位,代表所有者拥有的权限
绿色第4-6位,代表所在组拥有的权限
蓝色第7-9位,代表其他用户拥有的权限
紫色,若是文件代表硬链接数,目录代表子目录数(不包含文件数,包含隐藏目录数,空目录默认有两个字目录,因为有.和…)
第二个黄色代表所有者
第二个绿色代表所在组
灰色代表文件的大小(字节)
白色代表最后修改时间
橙色代表文件名,以.开头的是隐藏文件
rwx权限详解
rwx作用到文件
r=4,w=2,x=1 rwx=7
r代表可读,可以查看
w代表可写,可以修改,但是不代表可以删除文件,删除文件要看用户在文件所在目录有没有写权限
x代表可以被执行
rwx作用到目录
r代表可以读取,ls查看目录内容
w代表可写,可以修改,对目录创建+删除+重命名
x代表可执行,可以进入该目录
修改权限
第一种方式:±=变更权限
u:所有者 g:所在组 o:其他者 a:所有人(u,g,o的总和)
chmod u=rwx,g=rx,o=x 文件/目录 赋给该文件的所有者读写执行权限,所在组读执行权限,其他者执行权限
chmod o+w 文件/目录名 赋给该文件的其他者写权限
chmod a-x 文件/目录 撤销所有人的执行权限
第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=7
chmod 751 文件/目录 相当于chmod u=rwx,g=rx,o=x 文件/目录
修改文件/目录所有者/所在组
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录,使其下所有文件和子目录递归生效
修改文件/目录所在组
chgrp newsgroup 文件/目录 改变所在组
-R 如果是目录,使其下所有文件和子目录递归生效
注意:如果要对目录内的文件进行操作,首先要有对该目录的相应权限
注意:当用户对文件有读写的权限,而对文件的所在目录没有读权限时,进入该目录后ls无权限,但可以直接对该目录下的文件进行读和写
对于文件的rwx权限:
r:表示可以ls,将目录的内容显示
w:表示可以在该目录删除或创建文件
x:表示可以进入到该目录,比如cd