1. 程式人生 > >linux使用者和組管理

linux使用者和組管理

Linux使用者

   Username/UID

管理員:root,0 普通使用者: 1-65535 
系統使用者:1-499  (centos 6)
守護程序獲取資源進行許可權分配:
登入使用者:500+ (centos 6)
互動式登入:
Linux組

    Groupname/GID

管理員組:root,0 普通組:
系統組:1-499 (centos 6)
普通組:500+ (centos 6)
Linux組的類別
使用者的基本組(主組): 組名同用戶名,且僅包含一個使用者:私有組 使用者的附加組(額外組):

Linux使用者和組相關的配置檔案:
/etc/passwd:使用者及屬性資訊(名稱、UID、基本組ID等)
格式:account:password:UID:GID:GECOS:directory:shell
/etc/group:組及其屬性資訊
格式: group_name:passwd:GID:user_list
組名:組密碼:GID:以當前組為附加組的使用者列表(多個使用者以","逗號分割)
/etc/shadow:使用者密碼及相關屬性
格式:使用者名稱:加密了的密碼:最近一次更改密碼的日期:密碼的最小使用期限:密碼最大使用期限:密碼警告時間段:密碼禁用期:帳號的過期日期:保留欄位
/etc/gshadow:組密碼及相關屬性
使用者和組相關的管理命令:
使用者建立
useradd [options] LOGIN
-u:指定uid,範圍[UID_MIN, UID_MAX],定義在/etc/login.defs中
-g:指定使用者所屬基本組,可為組名,也可為gid
-c:使用者備註資訊,一般用於設定使用者全名
-d :/PATH/TO/HOME_DIR:以指定的路徑為家目錄 -r:建立系統使用者
-s :指定使用者預設shell,可用列表在/etc/shells  檔案中
-G group1[,group2,...[,groupn]] :指定使用者附加組
預設值值設定:/etc/default/useradd 
useradd -D  修改預設值
-s shell 
組建立
groupadd [options] GROUP
-g:指定GID號,範圍[GID_MIN, GID_MAX],定義在/etc/login.defs中
-r:建立系統組
使用者屬性修改

usermod [options] LOGIN

-u:新UID

-g:新GID

-G:新附加組,原有附加組會被覆蓋,如果要保留原附加組,要同時使用-a選項

-s:新的shell

-c:新的備註資訊

-d:新的家目錄,原有家目錄中的檔案不會移動至新的家目錄,若要移動,則同時使用-m選項

-l:新的使用者名稱

-L:鎖定使用者

-U:解鎖使用者

-e:指定使用者帳戶過期日期,日期格式YYYY-MM-DD

-f:指定非活動期限

設定使用者密碼

passwd [選項...] <帳號名稱>

-l:鎖定使用者

-u:解鎖使用者

-n mindays:指定密碼最短使用期限

-x maxdays:指定密碼最長使用期限

-w warndays:指定密碼過期前多少天警告使用者

-i inactivedays:非活動期限(密碼過期後,還有多天可以登入修改密碼)

--stdin:從標準輸入接收使用者密碼

echo "password" | passwd --stdin username

刪除使用者

userdel [options] LOGIN

-r:刪除使用者家目錄

修改組屬性

groupmod [options] GROUP

-n:新的組名

-g:新的GID

刪除組

groupdel group

設定組密碼

gpasswd [option] GROUP

-a:將使用者新增至組中(附加組), gpasswd -a username groupname

-d:將使用者從組中(附加組)刪除,gpasswd -d username groupname

臨時切換基本組

newgrp

修改檔案的屬主與屬組
修改檔案的屬主

chown [OPTION]... [OWNER][:[GROUP]] FILE..

用法

owner:只修改屬主

:group:只修改屬組

owner:group:同時修改屬主與屬組

NOTE:命令中的:可用 . 替換

-R:遞迴修改

修改檔案的屬組

chgrp [OPTION]... GROUP FILE...

-R:遞迴修改

許可權管理
檔案的許可權主要針對三類物件進行定義:
owner:屬主,u
group:屬組,g
other:其他,o
每個檔案針對每類訪問者都定義了三種許可權:
r:readable
w:writable
x:excutable
檔案:
r:可獲取檔案內容
w:可修改其內容
x:可把此檔案提請核心啟動為一個程序
目錄:
r:可使用ls檢視此目錄的列表
w:可在此目錄中建立與刪除檔案
x:可以使用cd 進入此目錄
修改檔案許可權

chmod [選項]... 八進位制模式 檔案...

例:chmod 755 /tmp/test

-R:遞迴修改

chmod [選項]... 模式[,模式]... 檔案...

模式:

修改一類使用者的所有許可權:

u=

g=

o=

ug=

a=

u=,g=

例:chmod u=rw,go= a.txt

修改一類使用者某位或某些許可權

u+

u-

chmod [選項]... --reference=參考檔案 檔案...

例:chmod --reference=./c.txt a.txt

特殊許可權

SUID

任何一個可執行程式檔案能不能啟動為程序,取決於發起者對程式檔案是否有執行許可權

設定了SUID後,啟動為程序之後,其程序的屬主為原程式檔案的屬主

許可權設定:

chmod u+s FILE

chmod u-s FILE 

SGID

預設情況下,使用者建立檔案時,其屬組為此使用者所屬的基本組;

一旦某目錄被設定了SGID後,則對此目錄有寫許可權的使用者在此目錄中建立的檔案的屬組為此目錄的屬組

許可權設定:

chmod g+s DIR

chmod g-s DIR

Sticky

對於一個多人可寫的目錄,如果設定了sticky,則每個使用者只能刪除自己的檔案

許可權設定:

chmod o+t DIR

chmod o-t DIR

umask
建立檔案:666-umask
NOTE:如果某使用者的許可權減得的結果存在x許可權,則將其許可權+1(遇奇數加1),例umask為3,666-3=663,加1,許可權為664
建立目錄:777-umask