用戶,組和權限管理
阿新 • • 發佈:2019-03-24
uos xfs 查看 無法創建 切換用戶 不可 文件系統 tune2fs 文件權限 用戶,組和權限管理
概述:在Linux中由於可以實現多用戶和多任務的管理,所以在Linux中用戶和組與文件的權限關系顯得格外重要。如果出現混亂,那麽在用戶使用時會給系統造成很多不穩定性的因素。這也是linux系統相對於其它操作系統更安全的原因之一。
linux系統中用戶分為:
系統用戶: centos6上的UID(1-499) centos7上的UID(1-999) 註:系統用戶無法登陸到系統之中 登錄用戶 centos6上的UID(500+) centos7上的UID(1000+)待 (通過交互式方式進行登錄) 註:只有管理員有創建用戶的權限,普通用戶無法創建用戶 配置文件: /etc/passwd中存放著用戶的賬號信息,配置文件中用:號隔開了七個字段,其中的每一 個 字段都代表不同的含義 如:root:x:0:0:root:/root:/bin/bash 1:root:標識用戶名 2:x:用戶密碼的占位符 3:0:用戶的UID 4:0:用戶的GID 5:root:用戶的註釋信息 6:/root:用戶的家目錄所在的位置 7:/bin/bash:用戶所使用的shell /etc/shadow中存放著用戶的賬號密碼的信息,配置文件也用:號分割成了好幾段, 每個字段同樣有不同的含義 如:root:$6$WPjpqSwxMbi2LSA//5M2Q0:17900:0:99999:7::: 1:存放著用戶的用戶名 2:存放著用戶用來加密的密碼,默認是用sum512算法進行加密 3:最近更動密碼的日期,默認是從1970年到現在的天數 4:密碼最短使用時間,代表在這個時間之內,不允許更改用戶密碼。默認是0,代指隨時 可以更改用戶密碼 5:密碼需要重新變更的天數,即密碼的最長使用時間 6:密碼到期前的警告時間 7:密碼已經過期了之後,用戶可以登錄的時間,如果這個時候還不改密碼,那麽過了時 間之後,該用戶就無法登陸系統 8:記錄用戶密碼的實效時間 註:用戶密碼的加密使用的是單向加密的算法,單向機密的特點是無論多長的密碼串通過 加密之後都會生成固定長度的密文,而且即使相同的密碼生成的密文也會有細微的差別。 為了提高機密性,單向加密的密碼,即使是簡單的改變其中的一個字符,加密之後的密 文也會千差萬別,這個稱之為雪崩效應。單向加密的算法分別包括: 1:md5 2:sha128 3:sha224 4:sha256 5:sha384 6:sha512 相關命令: 1,useradd(添加用戶) 2,userdel(刪除用戶) 3,usermod(改用戶的相關屬性) 4,su(切換用戶) 註:用su切換用戶時中間要加上-號,將切換的用戶初始化。當管理員切換到普通用戶時 不需要密碼,普通用戶之間切換時需要用戶密碼 5,getent(看用戶的/etc/passwd的相關屬性) 6,id(查看用戶的用戶組)
linux系統中用戶組分為:
系統組: centos6上的GID(1-499) centos7上的GID(1-999) 普通組: centos6上的GID(500+) centos7上的GID(1000+) 作用:每個用戶必須有一個主組,在創建用戶時如果不指定,那麽系統會默認創建一個和 用戶名相同的組,做為這個用戶的主組 在創建用戶時還可以指定用戶的附加組,附加組可以是一個或者多個。 配置文件: /etc/group中存放著用戶組的相關信息,其中每個用戶組也分為若幹段,每段代表著不同 的含義 如:user9:x:511:user10 1:組的名稱 2:組密碼的占位符 3:組的GID號 4:以該組為附加組的用戶 /etc/gshadow中存放著用戶的組密碼,格式和用戶密碼的屬性差不多 如:gentoo:$6$bAR22/OrVWl/om$t2JQeQkuOSncUr2uqrLu3IrU***3loryJI9626d8C4ijz.Z.ZkQjZg0:: 相關命令: 1,groupadd(添加用戶的用戶組) 2,groupdel(刪除用戶系統中的用戶組) 3,groupmod(修改組的相關屬性) 4,gpasswd(給組添加密碼) 5,groupmems(更改和查看組成員)
linux中文件的基本權限:
在linux中可以通過ll命令看到文件以及目錄的權限信息,其中第一個字段就包含著這個文 件或目錄的權限,第二個字段是此文件的屬主以及屬組 權限的分類: r:讀權限,對應的二進制是4,標識用戶可以讀取文件中的內容 w:寫權限,對應的二進制是2,標識用戶可以在文件中增添查改內容 x:執行權限,對應的二進制是1,標識該文件可以執行。如果是目錄,則標識該目錄可 以進入其中。 註:這三個權限結合成一組,每三組標識著文件以及目錄的基本權限,其中第一組代表著 文件的屬主,第二組代表文件的屬組,第三組其他人的權限 文件或目錄的屬主和屬組: 在linux系統中每個文件或目錄都會有屬主和屬組,這是基本權限的一個重要組成部分 目錄和文件權限的異同點: 1,執行權限: 文件:可執行此文件 目錄:可進入此目錄之中,但是如果沒有讀權限,則看不到目錄中的文件 2,寫權限: 文件:可以在文件中增刪查改,如果只有寫權限,那麽則無法看到文件中的內容 目錄:可以刪除該目錄中的文件,如果只有寫權限,那麽需要事先知道目錄中有 什麽內容,才可以進行增刪查改等進一步操作 3,讀權限 文件:可以閱讀此文件的內容 目錄:可以看到目錄中有多少文件 4,刪除目錄內的文件 即使對目錄內的文件沒有任何權限,只要對目錄有寫權限,就可以刪除目錄內的文件 如:-rw-r--r--. 1 root root 986 1月 22 14:59 /etc/fstab 1;文件的權限是644 2:文件的屬主是root,可以讀寫此文件 3:文件的屬組是root,可以讀此文件 4:其他人權限,僅可讀取此文件 相關命令: 1,chmod(該文件的權限) (1)賦權表示法 (2)八進制表示法 (3)引用權限表示法 2,chown(改文件的屬主和屬組) 3,chgrp(該文件的屬組,由於上一條命令的存在,這條命令已經趕不上時代的存在)
默認權限:在系統中有普通用戶和管理員都有默認的權限掩碼(遮照碼),在創建文件或目錄是會默認與系統中的權限掩碼相減
管理員的umask:022
普通用戶的umask:002
文件:默認的是666,如果減的權限中有執行,那麽會在減的結果中加1
目錄:默認的是777
配置文件:
在/etc/profile中定義的有umask的配置文件
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
Linux文件系統上的特殊權限:
作用:在使用linux中基礎權限有時會不滿足系統中的使用,要加入一些特殊權限進行補足,即SUID, SGID, Sticky
SUID/SGID:該權限的權限標識位是s,當用戶在執行此文件時,將使自己的身份臨時切
換成文件的屬主或屬組。前提當給用戶賦予SUID/SGID權限時,該文件的屬主和屬組必
須要有執行權限,否則權限標識位會顯示成S
賦權方法:
1,chmod u+s file , chmod 4700 file
2,chmod g+s file , chmod 2700 file
Sticky:該權限的權限標識位是t,具有寫權限的目錄通常用戶可以刪除該目錄中的任何
文件,在目錄中加入Sticky權限,可使對該目錄的中的內容刪改權限僅有root可使用
賦權方法:
1,chmod o+t directory , chmod o-t directory
linux中文件的特殊屬性即不可改變位權限:
作用:
目錄:
a:只允許在目錄中建立和修改文件,但是不允許刪除
i:只能修改目錄下文件的數據,卻不能執行刪除和新建文件
文件:
a:可對文件進行添加,不可刪除
i:不可對文件進行任何操作
賦權方法:
chatter +i file/directory
chatter +a file/directory
查看方法:
lsatter file/directory
ACL權限:
作用:可以對目錄或文件進行靈活的權限管理,讓除了文件的屬主,屬組和其它人,可以
對更多的用戶設置權限。
ACL權限的生效順序:所有者,自定義用戶,自定義組,其他人
查看磁盤的ACL權限:
tune2fs -l /dev/sda1
設置磁盤的ACL權限
tune2fs -o acl /dev/sda1
mount -o remount,acl /dev/sda1
註:在centos7中,無論是xfs還是ext4的系統都會默認加入ACL權限,之前的版本需要
手動添加ACL權限
賦權方法:
1,給單個文件和目錄設置:setfacl -m u:admin:rwx file/directory
2,給目錄進行遞歸設置:setfacl -Rm u:admin:rwx file/directory
3,給目錄設置默認的ACL權限:setfacl -m d:u:rwx file/directory
4,刪除ACL權限的方法 setfacl -x admin file/directory
註:
1,給文件重新賦予ACL權限的,要用選項--set
2,ACL中的mask是限制這個文件和目錄能設置的最高的ACL權限,在設置的過程中,如果
出現超過mask的權限,系統會將mask權限和設置的權限相與,得到的最終結果才是這個
用戶對此目錄或文件的最終權限
查看方法:getfacl file/dirctory
備份和恢復ACL權限:文件中cp和mv命令都默認支持保留ACL權限,但是tar命令在打包
的同時,並不會保留文件中的ACL權限
1,getfacl -R /tmp/dir1 > acl.txt(把ACL權限保存到文件中)
2,setfacl -R -b /tmp/dir1(遞歸刪除目錄中的ACL權限)
3,setfacl -R --set-file=acl.txt /tmp/dir1 (重新給遞歸給目錄賦予ACL權限)
4,setfacl --restore acl.txt(給文件恢復備份的acl權限)
用戶,組和權限管理