Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中,每个文件有所有者、所在组、其他组的概念
1、所有者:一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件的所有者:ls -ahl
修改文件所有者:chown(change owner) :chown 用户名 文件名
例:chown qwzhao a.txt 注意:改完所有者之后,该文件的所在组并不会跟着改变。
2、所在组
修改组:chgrp:chgrp 组名 文件名
例:chgrp zhao a.txt
3、其他组
4、改变用户所在的组
1)usermod -g 组名 用户名
2)usermod -d 目录名 用户名 改变该用户登录的初始目录
权限
- 普通文件
d 目录
l 软链接
c 字符设备【键盘,鼠标】
b 块文件【硬盘】
文件所有者的权限 w写 r读 - 没有权限 x?
r-- 代表文件所在组的用户权限 r--代表只读
文件的其他组的用户拥有的权限,r--只读
如果是文件,此处数字1表示硬链接
如果是目录,表示该目录的子目录数
例:- rw -r --r-- . 1 tom police 6 3月 18 19:24 ok.txt
前面说过了 tom是文件所有者
police是文件所在组
3月 18 19:24 文件最后的修改时间
6是文件大小,如果是目录则是固定4096
总结:
前面0-9位说明:
0:确定文件类型
1-3:确定所有者拥有该文件的权限----user
4-6:确定所属组拥有该文件的权限----group
7-9:确定其他用户拥有该文件的权限----other
rwx权限详解:
rwx作用到文件
r可读 read
w 可写 :可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
x 代表可执行:可以被执行
rwx作用到目录
r代表可读 ls查看目录内容
w代表可写 可以修改 目录内创建+删除+重命名目录
x代表可执行 可以进入到该目录
chmod修改权限管理 ,用来修改文件或者目录的权限
第一种方式:+ - = 变更权限
u:所有者 g:所在组 o:其他人 a:所有人(u、g、o的总和)
例:chmod u=rwx,g=rx,o=x a.txt
即:将a.txt的所有者权限变更为rwx,所在组的权限变更为:rx,其他人的权限变更为:x
例:chmod o+w a.txt
即:为a.txt的其他人权限增加w权限
例:chmod o-w a.txt
即:为a.txt的其他人权限撤销w权限
第二种方式 ,rwx可用数字表示为:r=4,w=2,x=1
chmod 751 文件或目录名
例:chmod 751 a.txt
即:将a.txt的所有者权限变更为4+2+1(7:rwx),所在组权限变更为4+1(5:rx),其他用户权限变更为1(x:1)
变更文件的所有者:
chown newowner file 改变文件的所有者
chown newgroup file 改变文件的所有者
chown newowner:newgroup file 改变文件的所有者和所有组
-R 如果是目录,则使其下所有子文件或目录递归生效