在linux中的每一個用戶必須屬於一個組,不能獨立於組外。在linux中每一個文件有全部者、所在組、其它組的概念linux
在linux系統中,所建立的用戶賬號和其相關信息(密碼除外)均是存放在/etc/passwd配置文件中。因爲全部用戶對passwd文件均有讀取的權限,所以密碼信息並未保存在該文件中,而是保存在了/etc/shadow的配置文件中。centos
1,在passwd配置文件中,從左至右各字段的對應關係及其含義:app
2,用戶密碼管理ide
在shadow配置文件中,從左至右各字段的對應關係及其含義:ui
3.組信息管理文件centos7
4.組密碼文件:/etc/gshadowspa
用戶管理命令:
3d
添加用戶命令:useraddorm
修改用戶命令:passwdblog
修改用戶權限:usermod
刪除用戶:userdel
切換用戶:su
添加用戶時會生成一個模板文件家目錄
/etc/skel
在建立一個用戶時,在其家目錄下 會(根據模板(模板目錄下的文件))自動拷貝生成 一些文件
usermod [選項] 用戶名
-u UID修改用戶的UID號
-c 用戶說明修改用戶的說明信息
-G 組名修改用戶的附加組
-g 初始組修改初始組
-L臨時鎖定用戶 (Lock)
-U解除用戶鎖定(Unlock)
例子:將harry添加到admin組中
[root@centos7 app]#usermod -G admin harry
[root@centos7 app]#id harry
uid=1002(harry) gid=1003(harry) groups=1003(harry),1006(admin)
3.修改用戶信息 usermod
修改用戶密碼狀態chage
usermod與useradd相似,一個針對老用戶,一個是針對新增用戶的 選項同樣
usermod [選項] 用戶名
-u UID 修改用戶的UID號
-c 用戶說明 修改用戶的說明信息
-G 組名 修改用戶的附加組
-g 初始組 修改初始組
-L 臨時鎖定用戶 (Lock)
-U 解除用戶鎖定(Unlock)
修改用戶密碼狀態
chage [選項] 用戶名
-l 列出用戶的詳細密碼狀態
-d 日期 修改密碼最後一次的修改日期(shadow的第三個字段)
-m 天數 兩次密碼修改間隔(shadow第四個字段)
-M 天數 密碼有效期(第5個字段)
-W 天數 密碼過時前警告的天數(第6字段)
-I 天數 密碼過時後寬限天數(第7字段)
-E 日期 密碼失效時間(第8字段)
用戶組管理
1.添加用戶組
groupadd [選項] 組名
-g GID :指定組ID
2.修改用戶組
groupmod [選項] 組名
-g GID: 修改組id
-n 新組名: 修改組名
groupmod -n newgroup_name group_name
把組名group_name 修改成newgroup_name
3.刪除組名
groupdel 組名
當組是一個用戶的初始組並且這個用戶存在時,不能夠刪除這個組
必須得先刪初始用戶才行
有附加用戶沒初始用戶的組能夠刪除
groupadd gr1
useradd -g gr1 u1
useradd -G gr1 u2
不會產生u1還個組,u1用戶的初始組爲gr1了
4.把用戶添加入組或從組中移除
gpasswd [選項] 組名
-a 用戶名: 把用戶加入組(操做的是附加用戶)
-d 用戶名: 把用戶從組中刪除
suid:只能做用在二進制程序上,不能做用在腳本上(scripts)上
執行suid權限的程序時,此用戶將繼承此程序的全部者權限
sgid:
sgid:做用在二進制程序上,執行sgid程序時,此用戶將繼承此程序的所屬組權限
做用在目錄上:再此目錄上的新文件的所屬組,將自動繼承目錄的所屬組
sticky:只能做用在目錄上,普通用戶只能本身刪除本身的文件
下面是sgid的例子
王和馬哥參與一個項目,他們應該能夠讀寫
查看用戶組
[root@centos6 app]#groupmems -l -g opts
將用戶組剔除
[root@centos6 project]#usermod -G '' wang //這也是一種清除的方法
[root@centos6 app]#gpasswd -d mage opts
在添加用戶到組
[root@centos6 app]#groupmems -a wang -g opts
usermod -aG opts wang
將opts設置爲目錄的組
[root@centos6 app]#ll project1 -d
drwxr-xr-x. 2 root root 4096 Nov 19 19:06 project1
[root@centos6 app]#chgrp opts project1
[root@centos6 app]#ll -d project1
drwxr-xr-x. 2 root opts 4096 Nov 19 19:06 project1
再將目錄設置爲770就是other不能訪問這個目錄
最後將目錄設置爲sgid之後誰建立文件都是ops的組
最後馬哥建立文件查看
chattr +i這個是就是給文件加鎖
chattr +A file就是文件查看不更新時間
acl:訪問控制列表
下面是給f2使用acl
[root@centos6 app]#setfacl -m u:wang:rw f2
[root@centos6 app]#su wang
[wang@centos6 app]$cat f2
[wang@centos6 app]$
查看
[wang@centos6 app]$getfacl f2
# file: f2
# owner: root
# group: root
user::rw-
user:wang:rw-
group::r--
mask::rw-
other::---
刪除權限
setfacl -x u:wang d2