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

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