Linux用戶和文件權限管理

本文爲原創文章,轉載請標明出處

目錄

  1. 用戶管理
    • 系統用戶文件
    • 添加用戶 useradd
    • 設置用戶密碼 passwd
    • 刪除用戶 userdel
    • 用戶管理 usermod
  2. 用戶組管理
    • 系統用戶組文件
    • 添加用戶組 groupadd
    • 刪除用戶組 groupdel
    • 用戶組管理
  3. 基本權限及管理命令
    • 修改文件屬主 chown
    • 修改文件屬組 chgrp
    • 文件權限管理 chmod
    • suid、sgid、sticky權限
    • 權限掩碼 umask
  4. POSIX ACL權限系統及其管理命令
    • ACL權限管理 setfacl
    • ACL權限查看 getfacl

1. 用戶管理

系統用戶文件

系統用戶文件 etc/passwd
用戶密碼文件 etc/shadow

添加用戶 useradd

# useradd [username]

參數

d:指定用戶home目錄
e:設置過期時間
g:指定新用戶所屬的用戶組
s:指定新用戶使用的shell
u:設置用戶UID

例如:

# useradd -s /bin/ksh metaphors

# useradd -g group user

設置用戶密碼 passwd

# passwd [username]

刪除用戶 userdel

# userdel [username]

刪除用戶及其家目錄和郵件文件
# userdel -r [username]

用戶管理 usermod

# usermod [username]

參數

L:鎖定用戶,禁止用戶登錄系統
U:解除鎖定
e:指定用戶過期的日期
f:指定用戶過期之後的緩衝時間,即過期後還能登陸的天數
d:爲用戶指定新的家目錄
m:爲用戶指定新的家目錄時,移動原來家目錄中的所有文件
s:修改用戶的默認shell

2. 用戶組管理

系統用戶組文件

系統用戶組文件 \etc\group
用戶組密碼文件 \etc\gshadow

添加用戶組 groupadd

# groupadd [groupname]

刪除用戶組 groupdel

# groupdel [groupname]

用戶組管理

參數

g:將用戶的私有組改變爲選項指定的組
G:爲用戶添加多個附加組,使用逗號作爲分隔符
a:將用戶以追加的方式添加到一個附加組

例如:

# usermod -g teacher metaphors

# usermod -G teacher,admin metaphors

3. 基本權限及管理命令

修改文件屬主 chown

# chown [user:group] [file]

參數

-R => 遞歸修改

修改文件屬組 chgrp

# chgrp [group] [file]

參數

-R => 遞歸修改

文件權限管理 chmod

# chmod [mode] [file]

權限表達式:

操作對象
u => user
g => group
o => other
a => all

操作符
+ => 添加權限
- => 刪除權限
= => 賦予權限

權限列表
r => 讀
w => 寫
x => 執行

參數

-R => 遞歸修改

suid、sgid、sticky權限

suid => set權限處於屬主權限位
sgid => set權限處於屬組權限位
sticky => sticky權限,防刪除,但不能阻止root和屬主刪除

絕對模式下,從右向左第4位,4表示suid,2表示sgid,1表示sticky

以符號模式設置屬主set權限
# chmod u+s test.sh
以符號模式設置屬組set權限
# chmod g+s test.sh
以符號模式添加防刪除位
# chmod o+t file

以絕對模式設置屬主和屬組set權限
# chmod 6755 test.sh
以絕對模式添加防刪除位
# chmod 1777 file

權限掩碼 umask

查看umask
# umask

修改umask
# umask []

umask命令修改的umask值在重啓後丟失,若需要保存,可寫入shell配置文件中

4. POSIX ACL權限系統及其管理命令

POSIX:Portable Operating System Interface 可移植操作系統接口
ACL:Access Control List 訪問控制列表

ACL權限管理 setfacl

# setfacl [ACL表達式] [filename]

ACL表達式:[對象類型]:[對象]:權限列表

參數

b:刪除所有擴展ACL權限
k:刪除默認的ACL權限
d:設置默認的ACL權限
R:遞歸設置
m:修改、添加已有的ACL權限

例如:

# setfacl -m u:metaphors:rw file

ACL權限查看 getfacl

# getfacl [filename]

如有不當之處,請予指正,謝謝~

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