文章目录
Linux组
基本介绍
在linux中,每个用户必须属于一个组(可以改),不能独立于组外。linux下的每一个文件都有 所有者、所在组、其它组 的概念。
文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然而然的成为了它的所有者。1
查看文件的所有者
指令:ls -ahl
案例: 下图中红线标注的地方,即为文件 hello.txt 的所有者 root
修改文件所有者
指令:chown 用户名 文件名
案例:
- 使用 root 创建一个文件 apple.txt,然后将其所有者修改成 tom
touch apple.txt
chown tom apple.txt
组的创建
基本指令:groupadd 组名
案例:
- 创建一个组 monster
groupadd monster
- 创建一个用户 fox,并放到 monster 组内
useradd -g monster fox
文件/目录 所在组
当某个用户创建了一个文件后,该文件的所在组就是该用户所在的组。
文件所在组的用户可以对该文件有一些权限,
其它组里的成员可以对该文件有一些权限。
查看文件/目录所在组
基本指令:ls -ahl
框中的第四列即为文件 hello.txt 的所在组 root。
案例:
- 使用 fox 来创建一个文件,看看该文件属于哪个组?
修改文件所在的组
基本指令:chgrp 组名 文件名
案例:
- 使用 root 用户创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组
groupadd fruit
touch orange.txt
ls -ahl
chgrp fruit orange.txt
改变用户所在组
用 root 的管理权限可以改变某个用户所在的组。
基本指令:
usermod -g 新组名 用户名
usermod -d 目录名 用户名
:改变该用户登录的初始目录。特别提醒:用户需要有进入到该目录的权限。
案例:
- 将 zwj 这个用户从原来所在组,修改到 wudang组
usermod -g wudang zwj
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
权限
基本介绍
ls -l显示的内容如下:
第一列表示该文件的权限。
0-9位说明
- 第0位确定文件类型(d, -, l, c, b, p, s)
符号 | 说明 |
---|---|
d | 目录文件 |
l | 软链接(相当于Windows的快捷方式) |
- | 普通文件(相当于Windows的文件夹) |
c | 字符设备文件(如鼠标、键盘) |
b | 块设备文件(如硬盘、光驱) |
p | 管道文件 |
s | 套接口文件/数据接口文件(如启动MySql服务器时会产生一个mysql.sock文件) |
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限(r, w, x)——User
- 第4-6位确定所属组(同用户组的)拥有该文件的权限(r, w, x)——Group
- 第7-9位确定其他用户拥有该文件的权限(r, w, x)——Other
-代表普通文件
rwx权限详解
- rwx作用到文件
- [ r ]代表可读(read):可以读取,查看.
- [ w ]代表可写(write):可以修改,但不代表可以删除,删除一个文件的前提是对该文件所在的目录有写权限,才能删除该文件.
- [ x ]代表可执行(execute):可以被执行,前提是它是一个可执行文件.
- rwx作用到目录
- [ r ]代表可读(read):可以读取,ls查看目录内容,否则,无法查看.
- [ w ]代表可写(write):可以修改,对目录内创建+删除+重命名目录.
- [ x ]代表可执行(execute):可以进入该目录,否则cd不了.
rwx可用数字来表示:r=4, w=2, x=1,因此 rwx=4+2+1=7。
案例
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第1列说明
第0位-
表示 该文件是普通文件;
第1-3位rwx
表示 文件所有者的权限是读、写、执行;
第4-6位rw-
表示 文件所在组的成员的权限是读、写但不能执行;
第7-9位r--
表示 文件其它组的成员的权限是读但不能写、不能执行。
其它列说明
内容 | 说明 |
---|---|
1 | 文件:硬链接数 或 目录:子目录数+文件数 |
root | 用户 |
root | 组 |
1213 | 文件大小(字节) |
Feb 2 09:39 | 最后修改日期 |
abc | 文件名 |
修改权限chmod
基本说明:通过chmod
指令,可以修改文件或者目录的权限。
第一种方式:+、-、=变更权限
+:增加权限 -:除去权限 =:赋予权限
u:所有者 g:所在组 o:其他人 a:所有人(u、g、o的总和)
1)chmod u=rwx,g=rx,o=x 文件/目录名
2)chmod o+w 文件/目录名
3)chmod a-x 文件/目录名
案例:
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限
chmod u=rwx,g=rx,o=rx abc
- 给abc文件的所有者出去执行的权限,增加组写的权限
chmod u-x,g+w abc
- 给abc文件的所有用户添加读的权限
chmod a+r abc
第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件/目录名
相当于
chmod 751 文件/目录名
案例:
- 将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用数字的方式实现
chmod 755 /home/abc.txt
修改文件所有者-chown
基本介绍
chown newowner 文件/目录
:改变文件/目录所有者
chown newowner:newgroup 文件/目录
:改变文件/目录所有者和所在组
-R
:如果是目录,则使其下所有子文件或目录递归生效
案例
- 将 /home/abc.txt 文件的所有者修改成 tom
chown tom /home/abc.txt
- 将 /home/kkk 目录下所有的文件和目录的所有者都修改成tom
chown -R tom /home/kkk
修改文件/目录所在组-chgrp
基本介绍
chgrp newgroup 文件/目录
:改变文件/目录所在组
案例
- 将 /home/abc.txt 文件的所在组修改成 shaolin
groupadd shaolin
chgrp shaolin /home/abc.txt
- 将 /home/kkk 目录下所有的文件和目录的所在组都修改成shaolin
chgrp -R shaolin /home/kkk
目录与其下的文件可以不属于同一用户、同一组。 ↩︎