Linux用戶和組管理


Linux用戶和組管理


useradd、passwd、chage、usermod、userdel、id 、finger、chfn、chsh

groupadd、groupdel



/etc/passwd文件結構:

[root@study ~]# head -n 4 /etc/passwd

root:x:0:0:root:/root:/bin/bash  

賬號名稱

密碼

UID

GID

賬號說明

家目錄

Shell


    

/etc/shadow文件結構:

[root@study ~]# head -n 4 /etc/shadow

root:$6$wtbCCce/PxMeE5wm$KE2IfSJr.YLP7Rcai6oa/T7KFhO:16559:0:99999:7:::

   賬號名稱

加密密碼:

authconfig --test | grep hashing  //查看密碼加密機制

最近一次修改時間:

echo $(($(date --date="2015/05/04" +%s)/86400+1))

最短密碼修改時間

最長密碼修改時間

警告期限

寬限時間

賬號失效日期

保留


/etc/group文件結構:

[root@study ~]# head -n 4 /etc/group

root:x:0:

組名

組密碼

GID

支持的賬號名稱

有效羣組(effective group)與初始羣組(initial group):

groups: 查看有效羣組

nwegrp: 切換有效羣組(必須是事先已支持的組)


/etc/gshadow文件結構:

組名

組密碼

組管理員

該組中的賬號


useradd

-u UID:指定UID

-g GID:指定GID,即用戶的基本組,但GID要事先存在

-G GID:指定用戶的額外組,但GID要事先存在

-d 目錄: 指定家目錄

-c 備註:備註

-s:shell:指定默認shell,應該指定使用/etc/shells文件中出現的shell

-m:創建用戶時,強制給用戶創建家目錄

-M:創建用戶時,但不創建家目錄

-D: 改變其默認shell 

-r: 創建系統用戶 特點:id 1-499 不會爲用戶創建家目錄 默認shell爲/sbin/nologin

-e:指定失效日期,格式爲YYYY-MM--DD

-f:指定密碼是否失效。0立刻,-1永不失效

[root@study ~]# useradd -D    

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

 

/etc/default/useradd

/etc/login.defs

passwd

--stdin 賬號名稱:將管道前的資料,作爲密碼輸入

echo “abc123c” | passwd --stdin study

-l:是Lock的意思,使密碼失效

-u:與-l相對,Unlock的意思

-S:顯示密碼相關參數

-n:接天數,多久不可修改密碼

-x:接天數,多久內必須更改密碼

-w:接天數,密碼過期前的警告天數

-i:接日期,密碼失效日期

chage

-l:顯示該賬號的詳細密碼參數

-d:後面接日期,修改 shadow 第三位(最近一次更改密碼的日期),格式 YYYY-MM-DD

-E:後面接日期,修改 shadow 第八位(賬號失效日),格式 YYYY-MM-DD

-I:後面接天數,修改 shadow 第七位(密碼失效日期)

-m:後面接天數,修改 shadow 第四位(密碼最短保留天數)

-M:後面接天數,修改 shadow 第五位(密碼多久需要進行變更)

-W:後面接天數,修改 shadow 第六位(密碼過期前警告日期)

usermod

-c:修改賬號的說明

-d:修改家目錄

-e:修改賬號失效日期,格式YYYY-MM--DD

-f:天數,修改密碼失效日期

-g:修改初始羣組

-G:修改次要羣組

-a:與-G合用,加入次要羣組

-l:修改賬號名稱

-s:修改shell,/bin/bash、/bin/csh

-u:修改UID

-L:鎖賬號密碼,使其無法登錄

-U:解鎖賬號密碼

userdel 

-r:連同用戶家目錄一起刪除

id

finger

chfn

chsh

-l:列出目前系統上可用的shell

-s:設定修改自己的shell

groupadd

-g:後面接某個特定的GID,用來直接給與某個GID

-r:建立系統羣組

groupmod

-g:修改GID數字

-n:修改羣組名稱

groupdel

gpasswd:

關於系統管理員的動作:

 :若沒有任何參數時,表格給與groupname一個密碼(gshadow)

-A:將groupname的主控權交由後面的使用者管理

-M:將某些賬號加入這個羣組中

-r:將groupname的密碼移除

-R:讓groupname的密碼失效

關於羣組管理員的動作:

-a:將某位使用者加入到groupname這個羣組中

-d:將某位使用者移除groupname這個羣組中

ACL(Access Control List):getfacl 、setfacl

[root@study ~]# dmesg | grep -i acl

[    1.747875] systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)

[    3.664462] SGI XFS with ACLs, security attributes, no debug enabled

setfacl:

-m:設定後續的acl參數給文件使用,不可與-x合用

-x:刪除後續的acl參數,不可與-m合用

-b:移除所有的ACL設定參數

-k:移除默認的ACL參數

-R:遞歸

-d:設定默認acl參數,只對目錄有效


[root@study tmp]# ll

-rw-r--r--. 1 root root   0 Aug 15 11:02 acl-test

[root@study tmp]# setfacl -m u:study:rwx acl-test   setfacl -m g:mygroup1:rx acl-test  setfacl -m m:r acl_test1(設定mask有效權限)   setfacl -m d:u:myuser1:rx /srv/projecta(設定目錄默認ACL繼承)

[root@study tmp]# ll acl-test 

-rw-rwxr--+ 1 root root 0 Aug 15 11:02 acl-test    // 權限部分多了一個+

[root@study tmp]# setfacl -m u::rwx acl-test      //u後面無使用者,代表這定該文件擁有者

[root@study tmp]# ll

-rwxrwxr--+ 1 root root   0 Aug 15 11:02 acl-test

-rwx------. 1 root root 827 Aug 12 10:32 ks-script-fPGBst


getfacl:

選項和參數與setfacl基本相同

[root@study tmp]# getfacl acl-test 

# file: acl-test

# owner: root

# group: root

user::rwx

user:study:rwx

group::r--

mask::rwx

other::r--


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