導航:首頁 > 文件類型 > linux文件的許可權管理

linux文件的許可權管理

發布時間:2023-01-29 06:59:10

1. linux許可權管理之基本許可權

(Linux許可權管理之基本許可權-慕課網 http://www.imooc.com/learn/481 )

一、文件基本許可權
1、基本許可權的修改
-rw-r--r--
- 文件類型(- 文件 d 目錄 l 軟鏈接文件)
rw- u所有者
r-- g所屬組
r-- o其他人
r 讀
w 寫
x 執行
chmod命令
chmod [選項] 模式 文件名
- 選項
-R 遞歸
- 模式
[ugoa] [+-=] [rwx]
[mode=421]

chmod u+x cangls.av
chmod g+w o+w furong.av
chmod a=rwx fengjie.av
#創建新文件
[root@localhost ~]# touch cangls.av
[root@localhost ~]# ll
#所有者添加執行許可權
[root@localhost ~]# chmod u+x cangls.av
[root@localhost ~]# ll
#所屬組和其他人添加寫許可權
[root@localhost ~]# chmod g+w,o+w cangls.av
[root@localhost ~]# ll
#所有者減去執行許可權,所屬組和其他人減去寫許可權
[root@localhost ~]# chmod u-x,g-w,o-w cangls.av
[root@localhost ~]# ll
#所有者添加讀寫執行許可權,所屬組添加讀寫許可權
[root@localhost ~]# chmod u=rwx,g=rw cangls.av
[root@localhost ~]# ll
#所有人賦予讀寫許可權
[root@localhost ~]# chmod a=rw cangls.av
[root@localhost ~]# ll

r ----4
w ----2
x ----1
rwxr-xr-x
7 5 5
#所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權
[root@localhost ~]# chmod 755 cangls.av
[root@localhost ~]# ll
#改為普通文件許可權
[root@localhost ~]# chmod 644 cangls.av
[root@localhost ~]# ll
777(文件最高許可權)
644(普通文件許可權)
755(所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權)

r:讀取文件的內容(cat more head tail)
w:編輯、新增、修改文件內容(vi echo),但是不包含刪除文件;
x:可執行

r:可以查詢目錄下文件名(ls)
w:具有修改目錄結構的許可權。如新建文件和目錄,刪除此目錄下文件和目錄,重命名此目錄下文件和目錄,剪切(touch rm mv cp)
x:可以進入目錄(cd)
對文件來講:最高許可權是x(執行)
對目錄來講:最高許可權是w(寫),能賦予的許可權只有0,5,7
#創建普通用戶user1
[root@localhost ~]# useradd user1
#創建普通用戶密碼user1
[root@localhost ~]# passwd user1
更改用戶 user1 的密碼 。
新的 密碼:123
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:123
passwd: 所有的身份驗證令牌已經成功更新。

chown 用戶名 文件名
例如:chown ds fengj.av

chgrp 組名 文件名
例如:chgrp group1 fengj.av

要求:
擁有一個av目錄
讓加藤老師擁有所有的許可權
讓本課程學員有查看的許可權
其他所有人不許查看這個目錄
#創建目錄
[root@localhost ~]# mkdir av
#查看
[root@localhost ~]# ll -d av
[root@localhost ~]# useradd jt
[root@localhost ~]# passwd jt
更改用戶 jt 的密碼 。
新的 密碼:
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
#添加組
[root@localhost ~]# groupadd user
#把user1用戶加到user組裡面
[root@localhost ~]# gpasswd -a user1 user
Adding user user1 to group user
[root@localhost ~]# chown jt:user av
[root@localhost ~]# ll -d av
#其他人改為0許可權
[root@localhost ~]# chmod 750 av
[root@localhost ~]# ll -d av

#查看默認許可權
[root@localhost ~]# umask
0022
第一位0:文件特殊許可權
022:文件默認許可權

文件默認不能建立為執行文件,必須手工賦予執行許可權;
所以文件默認許可權最大為666;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為666減去umask值;
例如:
文件默認最大許可權666,umask值022;
-rw-rw-rw-減去-----w--w-等於-rw-r--r--
例如:
文件默認最大許可權666,umask值033
-rw-rw-rw-減去-----wx-wx等於-rw-r--r--

目錄的默認許可權最大為777;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為777減去umask值;
例如:
目錄默認最大許可權為777,umask值022;
-rwxrwxrwx減去-----w--w-等於-rwxr-xr-x

臨時修改
umask 0002
永久修改
vi /etc/profile

2. linux如何修改文件或目錄的許可權

工具/材料

linux系統,如redhat或ubuntu

打開操作系統,切換到要修改的文件或目錄的父目錄。注意,首先切換到root用戶群進行更改。

接下來,為了舉例,我復制/etc/rc.d下的文件到/tmp下,並切換到/tmp目錄。

文件的基本許可權分為三種:rwx,許可權的對象也有三種:屬主(u)、屬組(g)、其他(o)。對於文件許可權的修改,有兩種方式。第一種指定對某一類用戶添加(+)或刪除(-)某一個許可權。在不指定用戶時,表示對所有用戶修改某一個許可權。

第二種是直接指定一個3位的8進制數,它的二進製表示的每一位分別表示該用戶的某個許可權,0表示沒有許可權,1表示有許可權。

以上的命令只能修改對應的目錄自身許可權,不能修改目錄內部文件的許可權。如果要修改目錄內部的許可權,則使用-R選項,表示遞歸修改。

3. Linux關於文件的許可權筆記

1、調整文件的許可權命令:chmod

Linux的每個文件都定義了文件的擁有者:u(user)、擁有組:g(group)、其他人:o(others)許可權,對應的許可權用rwx的組合來定義。使用chmod命令,增加許可權用+,刪除許可權用-,某個文件詳細的許可權用=號。

比如:

chmod u+r filename  #給某文件增加讀的許可權

chmod u-r filename  #給某文件刪除讀的許可權

chmod u+w filename  #給某文件增加寫的許可權

chmod u-w filename  #給某文件刪除寫的許可權

chmod u+x filename  #給某文件增可執行的許可權

chmod u-x filename  #給某文件刪除可執行的許可權

chmod u+rwx filename  #給某文件增加讀寫可執行的許可權

chmod u=rwx filename  #給某文件設定讀寫可執行的許可權

通過這種方式可以同一時刻給文件擁有者、文件擁有組、或其他用戶設置許可權,如果想要同時設置所有用戶的許可權就要使用數字表示的方式了,Linux規定 r=4,w=2,x=1。比如許可權rwx:7,r-x:5。如果想設置一個文件擁有者有讀、寫、執行,擁有組的許可權是讀、執行、其他人只讀的話,可以使用命令:chmod 745 filename 進行設置。chmod -R 745 dirname #用來看設置目錄許可權 必須加 -R參數。

2、改變文件的擁有者命令:chown

比如:chown user1 hello.txt 

#將hello.txt 文件擁有者修改為 user1, 前提user1 為系統中擁有的用戶

chown :user1 hello.txt 

#將hello.txt 文件擁有者修改為 user1組, 前提user1 為系統中擁有的用戶組

chown user1:user1 hello.txt 

#相當於執行了上面兩條命令

chown user1:user1 dirname 

#修改目錄的文件擁有者和用戶組 需要加 -R參數

3、修改文件的擁有組命令:chgrp

比如:

chgrp user1 hello.txt 

#將hello.txt 文件用戶組修改為 user1

chgrp user1 dirname 

#將dirname 目錄用戶組修改為 user1,需要加 -R參數

覺得不錯請點贊支持,歡迎留言或進我的個人群855801563領取【架構資料專題目合集90期】、【BATJTMD大廠JAVA面試真題1000+】,本群專用於學習交流技術、分享面試機會,拒絕廣告,我也會在群內不定期答題、探討。

4. Linux系統下用戶以及許可權管理

一、操作系統中的用戶管理 相關配置文件解讀

Linux用戶在操作系統可以進行日常管理和維護,涉及到的相關配置文件如下:

/etc/passwd 保存操作系統中的所有用戶信息

root : x : 0 : 0 : root : /root : /bin/bash

name:password:UID:GID:GECOS:directory:shell

用戶名 :密碼佔位符 :uid :基本組的gid :用戶信息記錄欄位:用戶的家目錄:用戶登錄系統後使用的命令解析器

————————————————

欄位1:用戶名

欄位2:密碼佔位符

欄位3:用戶的UID 0 表示超級用戶 , 500-60000 普通用戶 , 1-499 程序用戶

欄位4:基本組的GID 先有組才有用戶

欄位5:用戶信息記錄欄位

欄位6:用戶的家目錄

欄位7:用戶登錄系統後使用的命令解釋器

————————————————

UID:0表示超級用戶, 程序用戶 (1-499),普通用戶 (500以上60000以下),根據uid將用戶分為以上三類用戶。

/etc/shw 保存用戶密碼(以加密形式保存)

[root@xing /]# cat /etc/shadow

root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :

用戶名:密碼(加密後的字元串):最近一次的修改時間【距離1970年1月1日的距離】:密碼的最短有效期:密碼的最長有效期:密碼過期前7天警告:密碼的不活躍期:用戶的失效時間: 保留欄位

————————————————

欄位1:用戶名

*欄位2:用戶的密碼加密後的字元串(sha)

欄位3:距離1970/1/1密碼最近一次修改的時間

欄位4:密碼的最短有效期

*欄位5:密碼的最長有效期(建議時間 90)

欄位6:密碼過期前7天警告

欄位7:密碼的不活躍期

欄位8:用戶的失效時間

欄位9:保留欄位

這個欄位目前沒有使用,等待新功能的加入。

————————————————

/etc/group 保存組信息

————————————————

root:x:0:

bin:x:1:bin,daemon

組名:組的密碼佔位符:gid:附加組成員

————————————————

/etc/login.defs 用戶屬性限制,密碼過期時間,密碼最大長度等限制

/etc/default/useradd 顯示或更改默認的useradd配置文件

二、文件及目錄許可權

文件與許可權: 即文件或者目錄屬於哪個用戶,屬於哪個組,不同的用戶能對該文件進行何種操作。

————————————————

註:

查看文件許可權: ls -l 文件

查看目錄許可權 : ls -ld 目錄

————————————————

[root@xing Desktop]# ls -l /root/Desktop/

total 70584

lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt -> /root/Desktop/ming

-rw-r--r--. (文件屬性) 1 (鏈接個數: 表示指向它的鏈接文件的個數 root (所屬者) root (所屬組) 0(文件大小:單位byte) Jul 14 14:14(最後一次修改時間) 2.txt(文件名)

drwx------.(文件屬性) 7 (目錄中的子目錄數: 此處看到的值要減2才等於該目錄下的子目錄的實際個數。 root (所屬者) root (所屬組) 4096 (文件大小:單位byte)Jul 13 16:56(最後一次修改時間) vmware-tools-distrib(目錄名)

[root@xing Desktop]# ls -ld /root/Desktop/

drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/

————————————————

文件屬性解釋:

- rw- r-- r-- .

d rwx r-x r-x .

欄位1:文件類型 【- 普通文件 d目錄 l符號鏈接 b塊設備】

欄位2:文件所有者對該文件的許可權

欄位3:文件所屬組的許可權

欄位4:其他用戶的許可權(既不是文件所有者也不是文件所屬組的用戶)

欄位5:表示文件受 selinux 的程序管理

8進制賦權法: r 【100】4; w【010】2; x【001】1

————————————————

三、用戶以及許可權管理命令匯總:

————————————————

用戶增刪改命令

useradd

userdel

usermod

————————————————

用戶組增刪改命令

groupadd

groupdel

groupmod

————————————————

passwd

change

————————————————

文件許可權修改: chmod命令

chmod 對象 算數運算符 許可權 文件

[root@xing tmp]# ls -ld ming

drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming

[root@xing tmp]# chmod o-x ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming

————————————————

文件所屬者修改:

chown 用戶 文件

[root@xing tmp]# chown ming ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming

————————————————

文件所屬組修改:

chgrp 組 文件

[root@xing tmp]# chgrp ming ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming

————————————————

8進制賦權法

[root@xing ~]# chmod 644 /tmp/ming

[root@xing ~]# ls -ld /tmp/ming

drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming

————————————————

linux下命令「ll」是「ls -l"的別名。

————————————————

粘滯位:賦權後的文件 只有建立者可以刪除

chmod o+t 文件

[root@xing ~]# chmod o+t /tmp/ming

[root@xing ~]# ll -d /tmp/ming

drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming

————————————————

sgid : 賦權後的目錄,新建立的文件或者子目錄的所屬組繼承父目錄的所屬組

chmod g+s 目錄

[root@xing ming]# chmod g+s /tmp/ming

[root@xing tmp]# ll

drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming

[root@xing ming]# touch 20.txt

[root@xing ming]# ll

-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt

[root@xing ming]# mkdir 60

[root@xing ming]# ll

drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60

————————————————

suid :允許誰運行該文件具有該文件所屬者的許可權

chmod u+s 文件

[root@xing Desktop]# ll /usr/bin/vim

-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim

[root@xing Desktop]# chmod u+s /usr/bin/vim

[root@xing Desktop]# ll /usr/bin/vim

-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim

備註:linux 紅底白字代表警告!

————————————————

[root@xing Desktop]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

suid:4 sgid:2 粘滯位:1

[root@xing Desktop]# find /usr/bin -perm 4 755

/usr/bin/at

/usr/bin/chage

/usr/bin/pkexec

/usr/bin/Xorg

/usr/bin/crontab

/usr/bin/newgrp

/usr/bin/vim

/usr/bin/gpasswd

/usr/bin/passwd

/usr/bin/ksu

————————————————

1、不再允許添加新用戶的請求

chattr命令 :用於改變文件屬性

chattr +i 文件

lsttr命令 :查看文件屬性

lsattr 文件

[root@xing Desktop]# lsattr /etc/passwd /etc/shadow

-------------e- /etc/passwd

-------------e- /etc/shadow

[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow

[root@xing Desktop]# lsattr /etc/passwd /etc/shadow

----i--------e- /etc/passwd

----i--------e- /etc/shadow

[root@xing Desktop]# useradd kk

useradd: cannot open /etc/passwd

2、umask

root用戶的umask默認值是0022,一般用戶默認是0002

目錄的最高許可權 0777-0022=0755

文件的最高許可權 0666-0022=644

一般伺服器配置umask的值配置為027最好;需要去修改兩處文件中的umask值。

/etc/profile

/etc/bashrc

3、修改默認的密碼最長有效期:修改以下配置文件

/etc/login.defs

5. Linux許可權詳解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

許可權簡介

Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。

Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。

Linux下許可權的粒度有

擁有者 、群組 、其它組 三種。每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。通常情況下,一個文件只能歸屬於一個用戶和組,

如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。

Linux上通常使用chmod命令對文件的許可權進行設置和更改。

一、快速入門

更改文件許可權 (chmod命令)

一般使用格式

chmod [可選項]

可選項:  -c, --changes          like verbose but report onlywhena change is made (若該檔案許可權確實已經更改,才顯示其更改動作)  -f, --silent, --quiet  suppress most error messages(若該檔案許可權無法被更改也不要顯示錯誤訊息)  -v, --verbose          output a diagnosticforevery file processed(顯示許可權變更的詳細資料)      --no-preserve-rootdonottreat'/'specially (the default)      --preserve-root    fail to operate recursively on'/'      --reference=RFILE  use RFILE's mode instead of MODE values-R, --recursive        change files and directories recursively(以遞歸的方式對目前目錄下的所有檔案與子目錄進行相同的許可權變更)--help顯示此幫助信息--version顯示版本信息mode :許可權設定字串,詳細格式如下 :[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]

+ 表示增加許可權,- 表示取消許可權,= 表示唯一設定許可權。[rwxX]

r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

file...文件列表(單個或者多個文件、文件夾)

範例:

設置所有用戶可讀取文件 a.conf

設置 c.sh 只有 擁有者可以讀寫及執行

設置文件 a.conf 與 b.xml 許可權為擁有者與其所屬同一個群組 可讀寫,其它組可讀不可寫

設置當前目錄下的所有檔案與子目錄皆設為任何人可讀寫

數字許可權使用格式

在這種使用方式中,首先我們需要了解數字如何表示許可權。

首先,我們規定 數字 4 、2 和 1表示讀、寫、執行許可權(具體原因可見下節許可權詳解內容),即 r=4,w=2,x=1

。此時其他的許可權組合也可以用其他的八進制數字表示出來,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4

+1 = 5 即

若要同時設置

rwx (可讀寫運行) 許可權則將該許可權位 設置 為 4 + 2 + 1 = 7 若要同時設置 rw- (可讀寫不可運行)許可權則將該許可權位 設置

為 4 + 2 = 6 若要同時設置 r-x (可讀可運行不可寫)許可權則將該許可權位 設置 為 4 +1 = 5

上面我們提到,每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。即我們可以用用三個8進制數字分別表示 擁有者 、群組 、其它組( u、 g 、o)的許可權詳情,並用chmod直接加三個8進制數字的方式直接改變文件許可權。語法格式為 :

chmod file...

其中a,b,c各為一個數字,分別代表User、Group、及Other的許可權。相當於簡化版的chmod u=許可權,g=許可權,o=許可權file...而此處的許可權將用8進制的數字來表示User、Group、及Other的讀、寫、執行許可權

範例:

設置所有人可以讀寫及執行

設置擁有者可讀寫,其他人不可讀寫執行

更改文件擁有者(chown命令)

linux/Unix 是多人多工作業系統,每個的文件都有擁有者(所有者),如果我們想變更文件的擁有者(利用 chown 將文件擁有者加以改變),一般只有系統管理員(root)擁有此操作許可權,而普通用戶則沒有許可權將自己或者別人的文件的擁有者設置為別人。

語法格式:

chown [可選項] user[:group] file...

使用許可權:root說明:[可選項] :同上文chmoser :新的文件擁有者的使用者group :新的文件擁有者的使用者群體(group)

範例:

設置文件 d.key、e.scrt的擁有者設為 users 群體的 tom

設置當前目錄下與子目錄下的所有文件的擁有者為 users 群體的 James

二、Linux許可權詳解

Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。這也是Linux有別於Windows的機制,也是基於這個許可權機智,Linux可以有效防止病毒自我運行,因為運行的條件是必須要有運行的許可權,而這個許可權在Linux是用戶所賦予的。

Linux的文件許可權有以下設定:

Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。

Linux下許可權的屬組有 擁有者 、群組 、其它組 三種。每個文件都可以針對這三個屬組(粒度),設置不同的rwx(讀寫執行)許可權。

通常情況下,一個文件只能歸屬於一個用戶和組, 如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。

如果我們要表示一個文件的所有許可權詳情,有兩種方式:

第一種是十位二進製表示法,(三個屬組每個使用二進制位,再加一個最高位共十位),可簡化為三位八進制形式

另外一種十二位二進製表示法(十二個二進制位),可簡化為四位八進制形式

十位許可權表示

常見的許可權表示形式有:

-rw------- (600)只有擁有者有讀寫許可權。-rw-r--r-- (644)只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權。-rwx------ (700)只有擁有者有讀、寫、執行許可權。-rwxr-xr-x (755)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有讀、執行許可權。-rwx--x--x (711)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有執行許可權。-rw-rw-rw- (666)所有用戶都有文件讀、寫許可權。-rwxrwxrwx (777)所有用戶都有讀、寫、執行許可權。

後九位解析:我們知道Linux許可權總共有三個屬組,這里我們給每個屬組使用三個位置來定義三種操作(讀、寫、執行)許可權,合起來則是許可權的後九位。 上面我們用字元表示許可權,其中 -代表無許可權,r代表讀許可權,w代表寫許可權,x代表執行許可權。

實際上,後九位每個位置的意義(代表某個屬組的某個許可權)都是固定的,如果我們將各個位置許可權的有無用二進制數 1和 0來代替,則只讀、只寫、只執行許可權,可以用三位二進制數表示為

r--=100-w-=010--x=001---=000

轉換成八進制數,則為 r=4, w=2, x=1, -=0(這也就是用數字設置許可權時為何是4代表讀,2代表寫,1代表執行)

實際上,我們可以將所有的許可權用二進制形式表現出來,並進一步轉變成八進制數字:

rwx=111=7rw-=110=6r-x=101=5r--=100=4-wx=011=3-w-=010=2--x=001=1---=000=0

由上可以得出,每個屬組的所有的許可權都可以用一位八進制數表示,每個數字都代表了不同的許可權(權值)。如 最高的許可權為是7,代表可讀,可寫,可執行。

故 如果我們將每個屬組的許可權都用八進制數表示,則文件的許可權可以表示為三位八進制數

-rw------- =600-rw-rw-rw- =666-rwxrwxrwx =777

關於第一位最高位的解釋:上面我們說到了許可權表示中後九位的含義,剩下的第一位代表的是文件的類型,類型可以是下面幾個中的一個:

d代表的是目錄(directroy)-代表的是文件(regular file)s代表的是套字文件(socket)p代表的管道文件(pipe)或命名管道文件(named pipe)l代表的是符號鏈接文件(symbolic link)b代表的是該文件是面向塊的設備文件(block-oriented device file)c代表的是該文件是面向字元的設備文件(charcter-oriented device file)

十二位許可權(Linux附加許可權)

附加許可權相關概念

linux除了設置正常的讀寫操作許可權外,還有關於一類設置也是涉及到許可權,叫做Linxu附加許可權。包括 SET位許可權(suid,sgid)和粘滯位許可權(sticky)。

SET位許可權:

suid/sgid是為了使「沒有取得特權用戶要完成一項必須要有特權才可以執行的任務」而產生的。

一般用於給可執行的程序或腳本文件進行設置,其中SUID表示對屬主用戶增加SET位許可權,SGID表示對屬組內用戶增加SET位許可權。執行文件被設置了SUID、SGID許可權後,任何用戶執行該文件時,將獲得該文件屬主、屬組賬號對應的身份。在許多環境中,suid

和 sgid 很管用,但是不恰當地使用這些位可能使系統的安全遭到破壞。所以應該盡量避免使用SET位許可權程序。(passwd

命令是為數不多的必須使用「suid」的命令之一)。

suid(set User ID,set UID)的意思是進程執行一個文件時通常保持進程擁有者的UID。然而,如果設置了可執行文件的suid位,進程就獲得了該文件擁有者的UID。

sgid(set Group ID,set GID)意思也是一樣,只是把上面的進程擁有者改成進程組就好了。

SET位許可權表示形式(10位許可權):

如果一個文件被設置了suid或sgid位,會分別表現在所有者或同組用戶的許可權的可執行位上;如果文件設置了suid還設置了x(執行)位,則相應的執行位表示為s(小寫)。但是,如果沒有設置x位,它將表示為S(大寫)。如:

1、-rwsr-xr-x表示設置了suid,且擁有者有可執行許可權2、-rwSr--r--表示suid被設置,但擁有者沒有可執行許可權3、-rwxr-sr-x表示sgid被設置,且群組用戶有可執行許可權4、-rw-r-Sr--表示sgid被設置,但群組用戶沒有可執行許可權

設置方式:

SET位許可權可以通過chmod命令設置,給文件加suid和sgid的命令如下(類似於上面chmod賦予一般許可權的命令):

chmo+sfilename設置suid位chmo-sfilename去掉suid設置chmodg+sfilename設置sgid位chmodg-sfilename去掉sgid設置

粘滯位許可權:

粘滯位許可權即sticky。一般用於為目錄設置特殊的附加許可權,當目錄被設置了粘滯位許可權後,即便用戶對該目錄有寫的許可權,也不能刪除該目錄中其他用戶的文件數據。設置了粘滯位許可權的目錄,是用ls查看其屬性時,其他用戶許可權處的x將變為t。

使用chmod命令設置目錄許可權時,+t、-t許可權模式可分別用於添加、移除粘滯位許可權。

粘滯位許可權表示形式(10位許可權):

一個文件或目錄被設置了粘滯位許可權,會表現在其他組用戶的許可權的可執行位上。如果文件設置了sticky還設置了x(執行)位,其他組用戶的許可權的可執行位為t(小寫)。但是,如果沒有設置x位,它將表示為T(大寫)。如:

1、-rwsr-xr-t表示設置了粘滯位且其他用戶組有可執行許可權2、-rwSr--r-T表示設置了粘滯位但其他用戶組沒有可執行許可權

設置方式:

sticky許可權同樣可以通過chmod命令設置:

chmod +t <文件列表..>

十二位的許可權表示方法

附加許可權除了用十位許可權形式表示外,還可以用用十二位字元表示。

11109876543210S  G  T r w x r w x r w x

SGT分別表示SUID許可權、SGID許可權、和 粘滯位許可權,這十二位分別對應關系如下:

第11位為SUID位,第10位為SGID位,第9位為sticky位,第8-0位對應於上面的三組rwx位(後九位)。

在這十二位的每一位上都置值。如果有相應的許可權則為1, 沒有此許可權則為0。

-rw-r-sr--的值為:010110100100-rwsr-xr-x的值為:100111101101-rwsr-sr-x的值為:110111101101-rwsr-sr-t的值為:111111101101

如果將則前三位SGT也轉換成一個二進制數,則

suid 的八進制數字是4

sgid 的代表數字是 2

sticky 位代表數字是1

這樣我們就可以將十二位許可權三位三位的轉化為4個八進制數。其中

最高的一位八進制數就是suid,sgdi,sticky的權值。

第二位為 擁有者的權值

第三位為 所屬組的權值

最後一位為 其他組的權值

附加許可權的八進制形式

通過上面,我們知道,正常許可權和附加許可權可以用4位八進制數表示。類似於正常許可權的數字許可權賦值模式(使用三位八進制數字賦值)

chmod file...

我們可以進一步使用4位八進制數字同時賦值正常許可權和附加許可權。

chmod file...

其中s是表示附加許可權的把八進制數字,abc與之前一致,分別是對應User、Group、及Other(擁有者、群組、其他組)的許可權。因為SUID對應八進制數字是4,SGID對於八進制數字是2,則「4755」表示設置SUID許可權,「6755」表示同時設置SUID、SGID許可權。

我們進一步將上小節的例子中的二進制數轉變為八進製表示形式,則

-rw-r-sr-- =010110100100=2644-rwsr-xr-x =100111101101=4755-rwsr-sr-x =110111101101=6755-rwsr-sr-t =111111101101=7755

對比範例:

設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行

設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行,並且設置suid

chmod 4755與chmod 755對比多了附加許可權值4,這個4表示其他用戶執行文件時,具有與所有者同樣的許可權(設置了SUID)。

為什麼要設置4755 而不是 755?

假設netlogin是root用戶創建的一個上網認證程序,如果其他用戶要上網也要用到這個程序,那就需要root用戶運行chmod 755 netlogin命令使其他用戶也能運行netlogin。但假如netlogin執行時需要訪問一些只有root用戶才有權訪問的文件,那麼其他用戶執行netlogin時可能因為許可權不夠還是不能上網。這種情況下,就可以用 chmod 4755 netlogin 設置其他用戶在執行netlogin也有root用戶的許可權,從而順利上網。

6. linux文件許可權管理(超詳細)

在linux系統中,我們想看一些資源的許可權常會使用 ls -a 來顯示資源的列表以及他們各自對應的許可權,但是有的時候看到那每一行開頭的字母是不是會有點懵逼 drwxr-xr-x 或者 drwx------ 等等

文件或目錄的許可權可以分為3種:

常見的linux文件許可權,數字和字母對應:

從左至右,
1-3位代表文件所有者的許可權,
4-6位代表同組用戶的許可權,
7-9位代表其他用戶的許可權。
,看兩個例子如下:

644
1-3位6等於4+2+0,rw-,所有者可讀、可寫、不可執行
4-6位4等於4+0+0,r--,同組用戶僅可讀
7-9位4等於4+0+0,r--,其他用戶僅可讀
755
1-3位7等於4+2+1,rwx,所有者可讀、可寫、可執行
4-6位5等於4+1+0,r--,同組用戶可讀、不可寫、可執行
7-9位5等於4+1+0,r--,其他用戶可讀、不可寫、可執行

7. linux 文件有哪些特殊許可權

r 讀許可權 為用戶提供可以閱讀文件的許可權 w 寫許可權 為用戶提供可以更改文件的許可權 x 執行許可權 為用戶提供可以執行文件的許可權 比如當用戶需要執行shell腳本時 就需要對腳本提供執行許可權

8. Linux許可權管理基本知識

Linux許可權管理基本知識大全

Linux系統有什麼基本許可權,許可權管理命令是什麼?下面跟我一起來看看吧!

一、基本許可權

linux許可權機制採用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。

u、g、o 都有讀(read)、寫(write)、執行(excute) 三個許可權,所以UGO模式是三類九種基本許可權。

用命令 ls -l 可列出文件的許可權,第一列輸出明確了後面的輸出(後面一列代表 ugo許可權)。第一個字母對應的關系:

“-” 普通文件

“d” 目錄

”l“ 符號鏈接

”c“ 字元設備

"b" 塊設備

"s" 套接字

"p" 管道

修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶

-R 該參數以遞歸的方式修改目錄下所有文件的所屬用戶,參數可以敲 chown --help 查看。

修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名

-R 該參數以遞歸的方式修改目錄下的所有文件的'所屬組。

命令chmod 用來修改文件或目錄的許可權: chmod -參數 模式 文件 | 目錄

例子: 修改目錄 log下所有文件的許可權為700

chmod -R 700 log

註:700的來歷是 u g o

rwx rwx rwx

111 000 000

關於 chmod 命令的許可權模式除了數字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是

all ,可以代替ugo。 +、- 代表增加或刪除對應的許可權,r、w、x 代表三種許可權,分別是讀、寫、執行。

例子:對於目錄 log下的所有文件(已有許可權是700)增加所屬組(g)的讀(r)、執行(x)許可權。

chmod -R g+rx log

類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。

二、特殊許可權

Linux的3個特殊的許可權,分別是setuid、setgid和stick bit。

setuid許可權(S):只有用戶可擁有,出現在執行許可權(x)的位置。

setuid許可權允許用戶以其擁有者的許可權來執行可執行文件,即使這個可執行文件是由其他用戶運行的。

setgid許可權(S):對應於用戶組,出現在執行許可權(x)的位置。

setgid許可權允許以同該目錄擁有者所在組相同的有效組許可權來允許可執行文件。但是這個組和實際發起命令的用戶組不一定相同。

stick bit (t /T):又名粘滯位,只有目錄才有的許可權,出現在其他用戶許可權(o)中的執行位置(x)。當一個目錄設置了粘滯位,只有創建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫許可權。使用 t 或 T來表示。若沒有設置執行許可權,但是設置了粘滯位,使用 t;若同時設置了執行許可權和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬於一種防寫。

設置特殊許可權:

setuid: chmod u+s filename

setgid: chmod g+s directoryname

stick bit: chmod o+t directoryname

用數字表示特殊許可權,是在基本許可權之上的。濁嘴笨腮說不清楚,看例子:

例子:將上面例子中的log日誌目錄(已有許可權 700)許可權設置為755。特殊許可權是類似 /tmp目錄的 stick bit有效。

特殊許可權 基本許可權

setuid setgid stick bit user group other

0 0 1 rwx rwx rwx

111 000 000

所以,設置特殊許可權(stick bit)的命令應該是:chmod 1755 log

設置特殊許可權後,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊許可權的字母 t )

取消該特殊許可權的命令:chmod 755 log 。如此 stick bit的許可權就沒有了。

再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最後一位已經變為代表普通許可權的字母x )

需要注意的是,最前面一位 ”1“ 就是特殊許可權位。其他兩個特殊許可權的設置也類似。setuid使用不是無限制的。出於安全目的,只能應用在Linux ELF格式二進制文件上,而不能用於腳本文件。

三、高級許可權

ACL(Access Control List),訪問控制列表是Linux下的的高級許可權機制,可實現對文件、目錄的靈活許可權控制。ACL 允許針對不同用戶、

不同組對同一個目標文件、目錄進行許可權設置,而不受UGO限制。

在一個文件系統上使用ACL需要在掛載文件系統的時候打開ACL功能。而根分區(ROOT)默認掛載的時候支持ACL。

命令:mount -o acl /掛載路徑

例子:mount -o acl /dev/sdb1 /mnt

查看一個文件的ACL設置的命令: getfacl file

(針對一個用戶)為一個文件設置指定用戶的許可權的命令: setfacl -m u:username:rwx filename

(針對一個組)為一個文件設置指定組的許可權的命令: setfacl -m g:groupname:r-x filename

刪除一個ACL設置的命令: setfacl -x u:username filename

;

9. 在linux中怎麼給文件夾賦許可權

在linux中給文件夾賦許可權的步驟如下:

1.首先,咱們用客戶端工具(工具很多,我用的是xshell),用需要建立的文件夾的賬戶登錄系統,例如我現在是用的Root用戶。紅色框框內,寫著root證明,登錄的用戶沒有問題。

10. Linux 許可權管理命令

命令名稱:chmod

命令英文原意:change the permissions mode of a file

有兩種角色可以執行該命令,一種是 root 用戶,另一種就是文件的所有者。

語法:

大括弧里的內容表示只能選一個,其中 u 表示該文件的所有者,g 表示所屬組,o 表示其他人,a 表示所有角色。

比如,給 abc.txt 文件的所屬組加一個寫的許可權:

也可以同時做多個授權,比如給文件所有者加上執行許可權,給其他人去掉寫許可權:

還可以用數字表示許可權。許可權的數字表示:

如果一個文件的許可權是 rw-r--r--,那麼翻譯成數字就是 644,反過來,如果要更改文件的許可權,可以這樣寫:

這樣文件的許可權就改成 rw-r----- 了。

還有一個選項 -R 是遞歸修改許可權,該選項的功能是更改某個目錄的許可權的同時更改該目錄下所有的子目錄和文件的許可權。

命令名稱: chown

英文原意:change owner

語法:chown 用戶名 文件

只有管理員賬戶可以更改文件的所屬用戶。

例如:

命令名稱:chgrp

英文原意:change group

語法:chgrp 組名 文件

例如:

命令名稱:umask

使用命令 umask -S 可以查看新建文件或目錄的默認許可權。

現在顯示的是新建目錄的默認許可權,該目錄的所有者的默認許可權是 rwx,所屬組的默認許可權是 rx,其他人的默認許可權是 rx。為什麼說這是新建目錄的默認許可權而不是新建文件的默認許可權,如果你查看新建文件的許可權,會發現是 rw-r--r-- ,與新建目錄的許可權 rwxr-xr-x 相比,每種角色的許可權都少了 x。所以說,只要知道了新建目錄的默認許可權,再去掉 x 許可權,就是新建文件的默認許可權。

如果直接執行 umask 命令,會顯示一個數字。

這個數字叫做許可權掩碼,用 777 減去其後三位 022 就得到了每種角色的許可權,即 755。翻譯成字母就是 rwxr-xr-x 。

若想更改新建目錄或文件的默認許可權,只需執行 umask 許可權掩碼 即可。

例如,我想把新建目錄的默認許可權改成 rwxr-r-- ,翻譯成數字就是 744,再用 777 減去 744 就得到了許可權掩碼 033。

雖然 Linux 系統的目錄或文件的默認許可權可以修改,但是 Linux 這樣分配許可權是有一定道理的,最好不要輕易修改。

閱讀全文

與linux文件的許可權管理相關的資料

熱點內容
經營如何讓數據說話 瀏覽:258
如何在手機上升級opop 瀏覽:614
coreldrawx5免費視頻教程 瀏覽:725
網站引導頁面源碼 瀏覽:234
個人簡歷範文word 瀏覽:220
uc下載的視頻怎樣提取到文件 瀏覽:499
英雄下載下載最新版本2015下載安裝 瀏覽:433
NX深孔鑽編程替換面如何操作 瀏覽:725
手機怎麼刪除pdf文件 瀏覽:256
蘋果手機沒有efs文件夾怎麼辦 瀏覽:723
metro軟體在哪個文件夾 瀏覽:69
怎麼用手機登錄編程貓 瀏覽:400
文本md204顯示器如何編程 瀏覽:705
如何將表中重復數據標記 瀏覽:859
中級資料庫系統工程師應用技術考什麼 瀏覽:404
博途編程如何設置停止鍵 瀏覽:409
python3刪除文件內容 瀏覽:754
如何優化seo數據分析 瀏覽:132
64位win7下部分32位程序不能運行 瀏覽:206
dnf90版本劍魂鈍器流 瀏覽:649

友情鏈接