用戶、組、權限 等相關命令

用戶、組、文件權限屬性

1、用戶和組的配置文件

在Linux中用戶和組的配置文件主要為:
/etc/passwd  :存放用戶及其屬性的信息(名稱、GID、UID)
/etc/group   :存放組及其屬性信息
/etc/shadow  :存放用戶密碼及其相關屬性
/etc/gshadow :存放組密碼及其相關屬性

(1)、/etc/passwd的格式

root:x:0:0:root:/root:/bin/bash 
分別表示為:用戶名 :密碼 : UID : GID : 描述信息 : 家目錄 : shell類型

(2)、/etc/shadow的格式

root::17361:0:99999:7:::
分別表示為:用戶名 : 密碼 : 距1970年天數 : 密碼最短有效期 : 最長有效期 : 提前通知天數 : 過期天數 : 賬戶有效期
其中密碼部分為:
$6$1C6dXZDTp.Kccbji$8K.gFoDfNtFONEoWV5I9s87Fun6kw2NSlQqIEsrNblzrfSydSXQ9We3MW/6Ow1KPuI4xtZjPDffOY1j3Ccg9x.
"6":表示其算法為sha512
"1C6dXZDTp.Kccbji"表示系統隨機生成的隨機數用于密碼中增加密碼的安全性
最后一部分為:加密生成的最終的密碼     

在密碼最前面如有"!"則代表賬戶被鎖定,不能登錄
eg:tcpdump:!!:17361::::::

(3)、/etc/groupd的格式

root:x:0:分別表示為:用戶名 : 組密碼(X表示) : GID : 附加組

2、用戶和組的相關命令

(1)useradd 添加用戶

useradd  [options]  username
     -u UID :指定用戶的UID
     -g GID :指定用戶的GID
     -o     :檢查ID的唯一性
     -c     :用戶的注釋信息
     -s     :shell類型
     -G group:為用戶添加附加組(組需事先存在)
     -r     :添加系統組
                        CentOS 6  系統ID:0-499 ,其他用戶ID:500-60000
                        CentOS 7  系統ID:0-999 ,其他用戶ID:1000-60000
創建用戶時的默認設置文件:/etc/default/useradd    
當用戶被創建時用戶的家目錄會自動生成與/etc/skel目錄下相同的文件
/etc/login.defs目錄下為用戶登錄時的屬性默認設置,可通過更改文件設定來改變包括用戶有效期、UID、GID以及加密算法等在內的配置信息

(2)usermod 用戶屬性修改

usermod [options] username 
     -u UID :修改新的UID
     -g group :新的基本組
     -aG group :增加新的附加組至用戶
     -md home :創建新的家目錄,并移動原家目錄數據至新家目錄
     -s shell :更改shell
     -c "comment" :修改注釋信息
     -l login_name:更改登錄名稱
     -L username :鎖定指定用戶,在/etc/shadow 密碼列增加"!"
     -U username :解鎖指定用戶
     -e YY-MM-DD :指定用戶賬戶過期時間

(3)userdel 刪除指定用戶

userdel [options] username
     -r :將指定用戶信息全部刪除
     -f :強制刪除

批量創建用戶及更改口令

1、批量創建用戶
     需要事先創建和/etc/passwd格式一樣的文件,如user.txt
     命令newusers  user.txt 可以批量創建user.txt內的用戶,但創建后用戶家目錄下會缺少一些文件,可以
     去/etc/skel目錄下復制過來使用。
2、批量更改口令
     先創建文本passwd.txt內容格式如:username:passwd 
     執行命令cat passwd | chpasswd 將文本中的用戶與密碼設定成功

(4)groupadd、groupmod、groupdel 創建組、修改組、刪除組

group [options] groupname
     -g GID :設定組ID
     -r     :創建系統組
                       CentOS 6  系統ID:0-499 ,其他用戶ID:500-60000
                       CentOS 7  系統ID:0-999 ,其他用戶ID:1000-60000
groupmod [options] group 
     -n groupname :更改新的組名
     -g GID       :新的GID
groupdel :刪除組,若刪除的組為其他組的主組則不能刪除。

(5)passwd 修改指定用戶的密碼

passwd [options] username 
     -l :鎖定指定用戶
     -u :解鎖指定用戶
     -e :用戶下次登錄強制修改密碼
     --stdin :接受標準輸入

(6)gpasswd 更改組密碼

gpasswd [options] group 
     -a username:將用戶添加到指定的組
     -d username:從指定的組中將用戶刪除
     -A username:設置有管理權限的列表

(7)groupmems

groupmems [options] 
     -g group :指定要操作的組
     -a username :指定用戶加入組
     -d username :從組中刪除用戶
     -p :清空所有成員
     -l :顯示組列表

3、文件權限屬性

再打開文件和目錄時顯示其詳細信息如下:

(1)文件屬性信息

-rw-r--r--. 1 root mage 1738 Jul 19 19:18 /etc/passwd
其中:
第一位是文件的類型:
                     - :普通文件
                     -d:目錄
                     -c:字符設備
                     -b:塊設備
                     -l:連接文件
                     -s:套接字
                     -p:管道文件
rw-r--r--為文件的權限:r(讀)、w(寫)、x(執行)、-(無)
                     前三位:為文件所屬主的權限        
                     中三位:為文件所屬組的權限
                     后三位:為文件其他人的權限
 1 root mage         
                     1:為其鏈接數
                     root:為其屬主
                     mage:為其屬組
1738 Jul 19 19:18    
                     1738:為其文件的大小,單位默認為K
                     Jul 19 19:18 :為其訪問時間
/etc/passwd          :為其文件路徑

(2)屬性更改

chown 設置文件的屬主、屬組
     chown [OPTION]... [OWNER][:[GROUP]] FILE...
     chown user1:group1 file  更改文件file的屬主以及屬組
     chown user1:       file  只更改文件file的屬主
     chown      :group1 file  只更改文件的屬組
     chown -R                 遞歸更改
chmod 設置文件的權限屬性
     chmod [WHO] [OPTION]... MODE[,MODE]... FILE...
     [who]   : user、group、other
     [option]: + 增加 
               - 去除
               = 賦值為
               a 所有(all)
     [mode]  : r、w、x、X(作用在目錄上,配合-R使用會將目錄下的除文件以
                          外的目錄加上x執行權限)
eg : chmod u+rw  file 將file文件加上rw權限
*注意:Linux系統對于目錄中的文件來說,文件能否被用戶刪除與文件本身的權限無
       關,而與文件的父目錄有關,當用戶訪問父目錄具有w(寫)權限時才能夠將
       文件刪除

(3)特殊權限 suid、sgid、sticky

suid (作用在可執行的二進制文件上): 訪問者會繼承文件所有者的權限
     (用s表示)
sgid (作用在可執行的二進制文件上): 訪問者會繼承文件所屬組的權限
     (用s表示)
     (作用在目錄上)              : 目錄下新建的文件的所屬組會繼承目錄的
                                   所屬組(同屬一個組的成員可以新建、
                                   互相更改及刪除文件) 
sticky (作用在目錄上)            : 在一個公共的目錄上每個人都可以創建、
       (用t表示)                   刪除自己文件,但不能刪除別人的文
                                   件,只有所有者能夠刪除

eg : 
[root@Centos6 /app]#chmod u+s passwd
-rwSr-xr-x. 1 root root  1664 Jul 19 02:57 passwd  為passwd文件加上suid權限  這里說明:若文件權限最初無x(執行權限)則為S,反之為s
[root@Centos6 /app]#chmod g+s passwd
-rw-r-sr-x. 1 root root  1664 Jul 19 02:57 passwd  為passwd文件加上sgid權限
[root@Centos6 /app]#chmod o+t passwd
-rw-r-xr-t. 1 root root  1664 Jul 19 02:57 passwd  為passwd文件加上sticky權限

(4)訪問控制列表(ACL)

在現實的生產中我們通過更改權限的命令只能設定群體的用戶,但是我們卻想要特定的文件只能某個用戶訪問或者拒絕其訪問這時就需要ACL來實現除了所有者、所屬組和其他人,可以對更多的特定用戶設置權限了

setfacl (set file acl) 設定文件ACL權限
     -m 設定權限
     -x 取消權限
     -R 遞歸操作
     -k 清空默認acl
     -b 徹底刪除acl權限,包括mask
eg: 
     setfacl -m u:user:r  file  設定文件file對user只有r(讀)權限
     setfacl -m u:user:rx dir   設定目錄對于user來說,在目錄下新建文
                                件時默認具有rx權限
     setfacl -m g:group:w dir   設定目錄dir對group有寫權限     
[root@Centos6 /app]#setfacl -m u:ymd:rx passwd
-rw-r-xr-x+ 1 root root  1664 Jul 19 02:57 passwd  設定文件ACL權限后有"+" 為ymd用戶對passwd文件設定rx權限
[root@Centos6 /app]#getfacl passwd      getfacl 查看設定的權限
# file: passwd
# owner: root
# group: root
user::rw-        所屬主
user:ymd:r-x     自定義用戶
group::r-x       所屬、其表現出來的權限實際為mask的權限
mask::r-x        限制最高權限
other::r-x       其他人

備份與恢復ACL
getfacl -R /file > backup.txt  將文件file備份到backup.txt
setfacl --restore backup.txt   通過backup.txt恢復acl

原創文章,作者:M25_ymd,如若轉載,請注明出處:http://www.www58058.com/83133

(0)
M25_ymdM25_ymd
上一篇 2017-07-29
下一篇 2017-07-29

相關推薦

  • sed 和 vim 的 用法

    處理文本的工具 三劍客之 sed sed是一種流編輯器,它一次處理一行內容。處理時,把 當前處理的行存儲在臨時緩沖區中,稱為“模式空間”( pattern space),接著用sed命令處理緩沖區中的內容 ,處理完成后,把緩沖區的內容送往屏幕。接著處理下一 行,這樣不斷重復,直到文件末尾。文件內容并沒有改變 ,除非你使用重定向存儲輸出。Sed主要用來自動編輯…

    Linux干貨 2016-08-12
  • Awk

    awk各種詳細使用方法

    Linux干貨 2018-01-02
  • Python第一周小結

    經歷了兩個星期Linux運維基礎的鋪墊,這周我們正式開始了python的學習。經過第一周的各種掙扎以及反復訓練,終于有所收獲了一點東西?,F在將第一周中學到的一個非常重要的算法技巧總結如下: 即:折半思想 例:給定一個不超過五位數的正整數,判斷該數有幾位數 Code1:??????????????????????????????????????????????…

    Linux干貨 2018-03-26
  • Linux之sed的使用

    sed的工作原理         sed是一種流編輯器以行為單位來處理文本的一款功能十分強大的編輯器,一次只處理一行內容,當處理文本是,將要處理的行放置在模式空間里(緩沖區),接下來sed命令處理模式空間里的內容,處理完成后,把模式空間里處理后的內容送至屏幕打印輸出,接下來處理下…

    Linux干貨 2016-08-09
  • 淺談netbios及其相關內容

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/141086        Netbios想必大家都有接觸。對于netbios的理解,我以前…

    Linux干貨 2015-03-26
  • Linux命令小總結

                     隨著對Linux學習的深入,Linux命令也越來越多的。雖然我們可以通過man等幫助查詢我 忘記的命令,但寫腳本本質是由命令有序的堆砌而運行的。下面讓我來總結一番我們學習過的命令 &nb…

    2017-07-30
欧美性久久久久