linux用戶組和權限管理

linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念

  在linux系統中,所創建的用戶帳號和其相關信息(密碼除外)均是存放在/etc/passwd配置文件中。由於所有用戶對passwd文件均有讀取的權限,因此密碼信息並未保存在該文件中,而是保存在了/etc/shadow的配置文件中。

      1,在passwd配置文件中,從左至右各字段的對應關係及其含義:

4747b19ef23dc8f1e7d465885c99ed08.png-wh_

  2,用戶密碼管理

    在shadow配置文件中,從左至右各字段的對應關係及其含義:

483f0ac3901fe7260215ff4aa179e799.png-wh_

3.組信息管理文件

78c77b3b28409e5ad753d53ac1612ba6.png-wh_

4.組密碼文件:/etc/gshadow

82276295a8053b7a6d9262ffc3ce12c2.png-wh_

用戶管理命令:

添加用戶命令:useradd

修改用戶命令:passwd

修改用戶權限: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不能訪問這個目錄

a41f8b86441ff708d6faccdfac94f129.png-wh_ 

最後將目錄設置爲sgid以後誰創建文件都是ops的組

最後馬哥創建文件查看

 

14056e42f30d34b363307bd37822ed66.png-wh_

chattr +i這個是就是給文件加鎖

chattr -i就是解鎖
2330d76c8cc27237393a22a628336889.png-wh_

 

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




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