Linux基础命令Ⅰ——文件类型、权限命令

一、文件类型、权限、所属用户与组详细讲解

1.文件类型

在Linux系统下面,文件类型(常见三种类型)

1.1普通文件类型

Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件。第一个属性为 [-]

1.2目录文件类型(类似win下的文件夹)

在linux中,它的思想是一切皆是文件,目录文件也就是Windows中的目录,也就是能用 cd 命令进入的。第一个属性为 [d],例如 [drwxr-xr-x]。

1.3链接文件(类似Win下的快捷方式)

第一个属性为 [l],例如 [lrwxrwxrwx]。

2.文件权限及归属

2.1 权限分类

  • 可读:r
  • 可写:W
  • 可执行(脚本,比如shell脚本):x
  • 特殊字符:
    [-]表示的是没有任何权限

2.2 归属

文件的归属

拥有者 owner u

属于组group g

其他人other 0

2.3 权限数字表示方法

rw- ->
二进制数字之和的方式

R 2^2 4

W 2^1 2

X 2^0 1

2.4 举例说明

[jingkong@muguangjingkong ~]$ ll
total 8
-rw-rw-r--. 1 jingkong jingkong 14 Apr 15 04:59 readme
-rw-rw-r--. 1 jingkong jingkong 21 Apr 15 18:54 readme.txt
  • [-]代表普通文件类型

后面九个字符分为三组,表示针对不同用户的权限关系

  • rw-代表的是所有者(user)拥有的权限
  • rw-代表的是组群(group)拥有的权限
  • r-- 代表的是其他人(other)拥有的权限
    之后的jingkong jingkong就是用户拥有者了。

《Linux下的用户、组和权限》这篇文章介绍很全面,下面是链接:
https://blog.csdn.net/qq_36119192/article/details/82228791#%E4%B8%80%EF%BC%9A%E7%94%A8%E6%88%B7%E5%92%8C%E7%BB%84%E4%BF%A1%E6%81%AF%E7%9A%84%E6%9F%A5%E7%9C%8B

二、权限命令chmod

1.简介

chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

3.使用说明

3.1 权限范围:

u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

3.2 权限代号:

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
[-] :删除权限,用数字0表示
s :特殊权限

3.3 用法

包含字母和操作符表达式的文字设定法包含数字的数字设定法
(1)文字设定法:

chmod [who] [+ | - | =] [mode] 文件名

(2)数字设定法
  如果想让某个文件的归属者有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)
  数字设定法的一般形式为:

chmod [mode] 文件名

数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

3.4 修改文件权限

-rw-rw-r--. 1 jingkong jingkong 21 Apr 15 18:54 readme.txt

要满足这样的需求:
(1)对于同组用户来说,仅仅可读
(2)对于其他用户来说,既不可读也不可写

[jingkong@muguangjingkong ~]$ chmod g-w readme.txt
[jingkong@muguangjingkong ~]$ ll
total 8
-rw-rw-r--. 1 jingkong jingkong 14 Apr 15 04:59 readme
-rw-r--r--. 1 jingkong jingkong 21 Apr 15 18:54 readme.txt

[jingkong@muguangjingkong ~]$ chmod o-r readme.txt
[jingkong@muguangjingkong ~]$ ll
total 8
-rw-rw-r--. 1 jingkong jingkong 14 Apr 15 04:59 readme
-rw-r-----. 1 jingkong jingkong 21 Apr 15 18:54 readme.txt

设定为只有该文件拥有者可以执行 :
chmod u+x readme.txt

3.5 修改目录权限

加入想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,也就是说,我要修改xx文件夹的权限,xx文件夹中的子文件的权限也一并修改,要使用参数-R表示启动递归处理。

  • 举例说明
[root@localhost ~]# chmod 700 /home /jingkong/readme.txt #仅把readme.txt目录的权限设置为700
[root@localhost ~]# chmod -R 744 /home/jingkong #表示将整个jingkong目录与其中的文件和子目录的权限都设置为744

3.6 扩展_改变文件拥有者和所属组

(1)命令

  • 修改文件拥有者——chown
    修改文件拥有者的命令自然是chown,即change owner。chown功能很多,不仅仅能更改文件拥有者,还可以修改文件所属组群。如果需要将某一目录下的所有文件都改变其拥有者,可以使用-R参数。
    语法如下:
chown [-R] 账号名称      文件/目录
chown [-R] 账号名称:组群  文件/目录
  • 修改文件所属组群——chgrp
    修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令)
    语法:
chgrp  组群  文件名/目录

(2)案例

  • 修改所属的组
#创建新的组和用户
[root@muguangjingkong jingkong]# groupadd groupa
[root@muguangjingkong jingkong]# groupadd groupb
[root@muguangjingkong jingkong]# useradd -g groupa kaka
[root@muguangjingkong jingkong]# su - kaka

#新建两个文件并查看所属用户和组
[kaka@muguangjingkong ~]$ touch filea
[kaka@muguangjingkong ~]$ touch fileb
[kaka@muguangjingkong ~]$ ll
total 0
-rw-r--r--. 1 kaka groupa 0 Apr 16 21:16 filea
-rw-r--r--. 1 kaka groupa 0 Apr 16 21:16 fileb
[kaka@muguangjingkong ~]$ chgrp groupb filea
chgrp: changing group of `filea': Operation not permitted

#在root用户下才能改变所属
[kaka@muguangjingkong ~]$ su
Password: 

#改变 filea所属的组
[root@muguangjingkong kaka]# chgrp groupb filea
[root@muguangjingkong kaka]# ll
total 0
-rw-r--r--. 1 kaka groupb 0 Apr 16 21:16 filea
-rw-r--r--. 1 kaka groupa 0 Apr 16 21:16 fileb
[root@muguangjingkong kaka]# 

  • 同时修改所属组和用户
    chown 用户:组 文件路径
[root@muguangjingkong kaka]# chown jingkong:jingkong /home/kaka/fileb
[root@muguangjingkong kaka]# ll
total 0
-rw-r--r--. 1 kaka     groupb   0 Apr 16 21:16 filea
-rw-r--r--. 1 jingkong jingkong 0 Apr 16 21:16 fileb

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章