文章目录
Linux基础(二):文件权限管理
一、文件的所有者,所在组,其他组
-
所有者和所在组
(1)所有者 一般为文件的创建者,所在组一般为创建者所在的组
(2) 查看所有者和所在组指令:
# 查看所有者和所在组 ls -l
(3) 应用实例:创建一个组police,创建一个用户Tom,将其归入police组,使用Tom新创建一个文件,查看文件情况
# 创建police组(root) groupadd police # 创建Tom用户并将其并入police组(root) useradd -g police Tom # 将用户切换为Tom su - Tom # 创建新文件 touch a.txt # 在新创建的文件目录下查看文件的所有者和所在组 ls -l
(4) 修改文件所有者指令(不修改所在组):chown(change owner) 新的用户名 文件名
应用实例:使用root创建文件 b.txt,然后将其所有者改为Tom
# root用户下创建文件 touch b.txt # 查看所有者 ls -l # 将文件所有者改为Tom chown Tom b.txt # 查看所有者 ls -l
(6) 修改文件所在组指令 chgrp(change group) 新的组 文件名
应用实例:使用root用户创建c.txt,修改所在组为police,查看所在组的信息
# root用户下创建文件 touch c.txt # 查看所在组 ls -l # 修改所在组 chgrp root c.txt # 查看所在组 ls -l
(7)同时修改文件所在组和所有者
# chown newowner:newgroup file # 修改某个文件 chmod Tom:police /root/c.txt # 修改某个目录下所有文件(root权限下) chmod -R Tom:police /root/kkk
-
其他组:除所在组以及拥有者外,其他用户或组都是其他组
二、文件权限管理
-
权限表示结构
-rw-r--r-- root police 0 Feb 17 10:00 c.txt 1 2 3 4 5 6 7 8 9
- “-”: 表示文件基本类型,"-"表示普通文件,"d"表示目录文件,"l"表示软链接,"c"表示字符设备(键盘鼠标等),"b"表示块文件(硬盘等)
- “rw-”: 表示文件所有者权限 (User)
- “r–”:表示文件所在组用户的权限 (Group)
- “r–”::表示其他组的用户权限 (other)
- “root”:所有者
- “police”:所在组
- “0”:文件大小,单位为byte,如果是目录文件,默认为4096
- “Feb 17 10:00”:文件最后修改的时间
- “c.txt”:文件名称
-
rwx权限详解
若是普通文件
- [r]代表可读(read),即可以读取,查看。
- [w]代表可写(write),可以修改,但是不一定能够删除文件。删除文件的前提是对该文件所在的目录有写权限,才可以删除该文件
- [x]代表可执行(execute),可以被执行
若是目录文件
- [r]代表可读(read),ls查看目录内容
- [w]代表可写(write),可以修改,即目录内创建+删除+重命名目录
- [x]代表可执行(execute),可以进入该目录
可以使用数字表示
[r] = 4; [w] = 2; [x] = 1
三、文件权限修改
-
命令:chmod,修改文件或者目录的权限
-
使用 + 、-、= 变更权限
(1) u:所有者;g:所有组;o:其他人;a:所有人(u,g,o总和)
(2) chmod u=rwx,g=rx,o=x 文件或目录名
(3) chmod o+w 文件或目录名
(4) chmod a+x 文件目录名
-
实际案例
(1) 给abc文件的所有者读写执行的权限,给所在组读和执行权限,给其他组用户读写权限
# Tom用户下创建abc文件 touch abc # 查看信息 ls -l # 修改权限 chmod u=r+w+x,g=r+x,o=r+x abc # 或者:chmod u=rwx,g=rx,o=rx abc
(2) 给abc文件的所有者除去执行权限,增加所在组写的权限
chmod u-x,g+w abc
(3) 给abc文件的所有用户添加读的权限
chmod a+r abc
-
使用数字修改权限
# 上面案例(1) chmod 755 abc
四、实例
-
实例描述:创建两个组(police,bandit),polie组里面有jack,jerry两个用户,bandit组里面有XiaoMing,XiaoHong两个人
-
实际操作
# 1. 创建两个组 groupadd police groupadd bandit # 2. 创建用户并指定所在组 useradd -g police jack useradd -g police jerry useradd -g bandit XiaoMing useradd -g bandit XiaoHong # 3. jack创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限 # 首先切换用户 su - jack # 然后创建文件 touch jackFile.txt # 修改文件权限 chmod u=rw,g=r,o-r jackFile.txt # 或者:chmod 640 jackFile.txt # 4. XiaoMing投靠警察 usermod -g police XiaoMing