日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux 文件夹换所属用户,Linux中账号管理之权限管理(下)

發布時間:2025/3/20 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 文件夹换所属用户,Linux中账号管理之权限管理(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux中的賬號管理我們在前面兩張已經介紹了一些用戶和組的相關概念,常用的配置文件,命令的使用?,F在我們來看看賬號管理中最傲嬌的部分就是我們的權限管理。

一、簡單介紹權限的概念

以install.log這個文件為例,查看install.log的元數據,從下圖可以看出,每個文件或者目錄都有它的所屬的主和所屬組,最左邊顯示不僅有它所屬類型,還有它的讀取寫入執行的權限,為什么目錄或者文件要設置這些權限呢,這肯定是出于安全的考慮。如果linux系統中不設置這些權限,就容易被攻擊。

文件的權限主要針對三類對象進行定義:

owner:屬主,u

group:屬組,g

other:其他,o

每個文件針對每類訪問者都定義了三種權限:

r: Readable,讀

w: Writable,寫

x: eXcutable,執行

二、三種權限對文件和目錄的影響

對文件的影響:

r: 可使用文件查看類工具獲取其內容

w: 可修改其內容,不能刪除文件本身

x: 可以把此文件提請內核啟動為一個進程(針對二進制程序或腳本,普通文件不需要添加此權限)

X:也是執行的權限,但是在文件中有兩種情況出現

a)?文件的權限中有執行權限,全部添加執行權限

b)?文件的權限中沒有執行權限,就不加執行權限

例如:

雖然/bin/cat沒有執行權限,但是有讀取的權限,可以使用其他查看工具來查看,此文件為二進制文件

查看/bin/cat文件,可以看出這個文件對普通權限只有讀的操作

切換到clq這個用戶

用cat這個工具不能查看文件內容,因為沒有寫入執行的權限,使用echo重定向輸入會報錯

cat命令為二進制文件,使用其他工具可以查看cat文件

對目錄的影響:

r: 可以使用ls查看此目錄中文件列表(可以查看目錄內文件列表,但不能訪問文件,不能cd,也不能查看文件的元數據)

w: 可在此目錄中創建文件,也可刪除此目錄中的文件但是要配合執行權限

x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄

X:加上此權限相對與將這三類對象全部加上執行的權限了

例如:

1、因為test相對于f1這個文件他只是個other組,other組的權限只有讀取,沒有寫入執行等操作

2、當我把f1的文件屬主改為test用戶的時候,test擁有rw權限

3、文件對用戶只有執行操作,用戶可以執行這條命令,但是不能讀取

三、修改文件的屬主和屬組chown,chgrp

chown命令:

chown命令改變某個文件或目錄的所有者和所屬的組,該命令可以向某個用戶授權,使該用戶變成指定文件的所有者或者改變文件所屬的組。用戶可以是用戶或者是用戶id,用戶組可以是組名或組id。文件名可以使由空格分開的文件列表,在文件名中可以包含通配符.

格式:chown[OPTION]… [OWNER][:[GROUP]] FILE…

用法:

OWNER ? ????? 改變用戶的屬主

OWNER:GROUP ? 改變用戶的屬主屬組

:GROUP? ? ? ? 改變用戶的屬組

命令中的冒號可用.替換;

選項:

-c或--changes:效果類似“-v”參數,但僅回報更改的部分;

-f或--quite或--silent:不顯示錯誤信息;

-h或--no-dereference:只對符號連接的文件作修改,而不更改其他任何相關文件;

-R或--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;

-v或--version:顯示指令執行過程;

--dereference:效果和“-h”參數相同;

--help:在線幫助;

--version:顯示版本信息。

--reference=:把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目錄的擁有者與所屬群組相同;

chgrp修改屬組的命令:

格式:chgrp[OPTION]… GROUP FILE…

常用選項:

chgrp[OPTION]...?--reference=RFILE?FILE...

-R?遞歸

四、修改文件的屬

chmod命令用來變更文件或目錄的權限。在UNIX系統家族里,文件或目錄權限的控制分別以讀取、寫入、執行3種一般權限來區分,另有3種特殊權限可供運用。用戶可以使用chmod指令去變更文件與目錄的權限,設置方式采用文字或數字代號皆可。符號連接的權限無法變更,如果用戶對符號連接修改權限,其改變會作用在被連接的原始文件

權限范圍的表示法如下:

u?User,即文件或目錄的擁有者;

g?Group,即文件或目錄的所屬群組;

o?Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍;

a?All,即全部的用戶,包含擁有者,所屬群組以及其他用戶;

r?讀取權限,數字代號為????????“4”;

w?寫入權限,數字代號為????????“2”;

x?執行或切換權限,數字代號為??“1”;

-?不具任何權限,數字代號為????“0”;

s?特殊功能說明:變更文件或目錄的權限

例如:

可以直接用數字表示權限,用法比較簡單,不加以舉例

rw-r-----:640

rwxr-xr-x:?755

1、給f1文件的主加上執行權限,組和其他用戶加上寫權限

2、取消這些權限使用減號

3、u=空格,把所有權限都取消了

五、新建文件和目錄的默認權限

umask值可以用來保留在創建文件權限

新建FILE權限: 666-umask

如果所得結果某位存在執行(奇數)權限,則將其權限+1

新建DIR權限: 777-umask

非特權用戶umask是002

root的umask是022

用法:

umask:?查看

umask#:?設定

umask002

umask–S?模式方式顯示

umask–p?輸出可被調用

全局設置:/etc/bashrc用戶設置:~/.bashrc

六、Linux文件上的特殊權限

三種特殊權限為:SUID, SGID, Sticky

三種常用權限:r, w, x user, group, other

使用這三種權限的前提:進程有屬主和屬組;文件有屬主和屬組

(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組

例如:

cat命令查看/etc/shadow是由wang這個發起者決定的,不是root這個所有者決定,wang用戶繼承的是other的權限

(3) 進程訪問文件時的權限,取決于進程的發起者

(a) 進程的發起者,同文件的屬主:則應用文件屬主權限

(b) 進程的發起者,屬于文件屬組;則應用文件屬組權限

(c) 應用文件“其它”權限

可執行文件上行SUID權限

為什么/etc/shadow文件設置嚴格,但是普通用戶還是可以修改密碼呢,這是因為在passwd上面設置了一個SUID權限;SUID:當用戶去運行passwd的時候,他將繼承該程序所有者root的權限

任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

啟動為進程之后,其進程的屬主為原程序文件的屬主

SUID只對二進制可執行程序有效

SUID設置在目錄上無意義

權限設定:

chmod? u+s? FILE…

chmod? u-s ?FILE…

GUID權限

對可執行文件而言:

任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

啟動為進程之后,其進程的屬主為原程序文件的屬組

權限設定:

chmod? g+s? FILE…

chmod? g-s ?FILE…

對目錄而言:

默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組

一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組

通常用于創建一個協作目錄

權限設定:

chmodg+sDIR…

chmodg-s DIR…

Sticky位

具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權

在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件

sticky 設置在文件上無意義

普通用戶wang不僅可以對自己的文件進行刪除操作,對其他用戶的文件也可以刪除,這樣會帶來安全隱患

現在在目錄那里加上粘滯位之后,就不能刪除其他用戶的權限了

權限設定:

chmodo+tDIR…

chmodo-t DIR…

例如:

ls-ld/tmpdrwxrwxrwt12rootroot4096Nov215:44/tmp

權限位映射

SUID: user,占據屬主的執行權限位

s: 屬主擁有x權限

S:屬主沒有x權限

SGID: group,占據屬組的執行權限位

s: group擁有x權限

S:group沒有x權限

Sticky: other,占據other的執行權限位

t: other擁有x權限

T:other沒有x權限

數字表示:u:4;g:2;o:1

chmod? 4777 /tmp/a.txt (繼承所有者權限)

chmod? 2777 /tmp/a.txt (繼承所屬組權限)

七、chattr,lasttr設置文件特定屬性

chattr +i 不能刪除,改名,更改

chattr?+i?/etc/fstab

然后試一下rm、mv、rename等命令操作于該文件,都是得到Operation not permitted的結果

chattr +a 只能增加

chattr?+a?/test/yuan

chattr +A,訪問時間的屬性被鎖定不做修改,解鎖:-A

lsattr 顯示特定屬性

用于查看文件的第二擴展文件系統屬性

顯示一個i,說明被鎖定了,把i去掉就可以執行一些操作了

八、訪問控制列表

概念:

ACL:Access Control List,實現靈活的權限管理

除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限

CentOS7.0默認創建的xfs和ext4文件系統有ACL功能。

CentOS7.X之前版本,默認手工創建的ext4文件系統無ACL功能。需手動增加:

tune2fs –o acl/dev/sdb1

mount –o acl/dev/sdb1 /mnt

ACL生效順序:所有者,自定義用戶,自定義組,其他人

為多用戶或者組的文件和目錄賦予訪問權限rwx

選項:

mount -o acl /directory????臨時開啟分區acl權限

getfacl file |directory????查看acl權限

setfacl -m u:wang:rwx file|directory 這個目錄對wang用戶設置了rwx權限

setfacl -Rm g:sales:rwX directory ??setfacl-R:遞歸設定acl權限

遞歸權限和默認權限都是針對目錄而言的,不能給文件設置。

setfacl -M file.acl file|directory

如果經常要對某些用戶設置一樣的權限就可以使用-M

例如;

vim acl.txt

如果另外一個文件對這些用戶也做同樣的設置

setfacl -m g:salesgroup:rw file| directory ?對組設置權限

setfacl -x u:wang file |directory 刪除設置的acl權限

例如:

刪除wangcai對f1 acl設置的權限

setfacl -X file.acl directory ? ?對某些用戶做刪除

例如:

vim acl12.tt

setfacl -m d:u:wang:rx directory ? 設定默認acl權限

對新建文件默認不能帶x權限,目錄是可以加的

setfacl-k dir?????刪除默認ACL權限

setfacl-b file1清除所有ACL權限

getfacl file1 | setfacl–set-file=-file2 復制file1的acl權限給file2

最大有效權限與刪除

mask只影響除所有者和other的之外的人和組的最大權限

mask需要與用戶的權限進行邏輯與運算后,才能變成有限的權限(Effective Permission)

用戶或組的設置必須存在于mask權限設定范圍內才會生效。setfacl-m mask::rxfile

?–set選項會把原有的ACL項都刪除,用新的替代,需要注意的是一定要包含UGO的設置,不能象-m一樣只是添加ACL就可以.如:

?setfacl –set u::rw,u:wang:rw,g::r,o::-file1

恢復和備份acl

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 參數。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息

#getfacl -R /tmp/dir1 > acl.txt

#setfacl -R -b /tmp/dir1

#setfacl -R –set-file=acl.txt /tmp/dir1

#getfacl -R /tmp/dir1

九、練習

1、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾

2、設置/test/f1的權限,使user1用戶不可以讀寫執行,g1組可以讀寫?/test/dir的權限,使新建文件自動具有acl權限:user1:rw,g1:—;備份/test目錄中所有文件的ACL,清除/test的所有ACL權限,并利用備份還原

原創文章,作者:xiaoqing,如若轉載,請注明出處:http://www.178linux.com/30661

總結

以上是生活随笔為你收集整理的linux 文件夹换所属用户,Linux中账号管理之权限管理(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。