Linux -- 用戶組篇

Linux -- 用戶與用戶組html

1.Linux 系統中有三種角色:全部者(用戶),用戶組與其餘人,一張圖能夠說明用戶與用戶組的關係。shell

如圖,某公司至關於一個用戶組,該用戶組下有A,B兩個用戶,用戶擁有各自的私密空間和公用空間,不是該用戶組下的就是其餘人,其餘人沒法訪問用戶組下的內容。bash

2.GID 與 UID 學習

UID 能夠理解爲 user ID,也就是 用戶ID,GID 能夠理解爲 group ID,也就是 用戶組ID,這兩個 ID 值很是重要,通常不建議更改,好比 Linux 中會根據 UID 和 GID 來判斷一個文件屬於哪一個用戶和用戶組,若是隨意改動 UID 和 GID,致使沒法找到用戶下的文件或者對文件沒有了權限,會很麻煩。ui

用戶ID 的範圍不一樣,在 Linux 中表明的特性也不一樣,在學習對用戶組操做前,先了解一下不一樣 UID 的範圍對應的不一樣特性。this

查看用戶的 UID 和 GID  id username ,如加密

[root@localhost ~]# id sherlock
uid=505(sherlock) gid=505(holmes) 組=505(holmes)

3.用戶組和用戶經常使用的相關係統文件spa

/etc/passwd - 使用者帳號諮詢
/etc/shadow - 使用者帳號諮詢加密
/etc/group - 用戶組信息code

Linux -- 用戶組orm

1.groupadd 新增用戶組

用法:groupadd [-g gid [-o]] [-r] [-f] group

[root@localhost home]# groupadd holmes
[root@localhost home]# grep holmes /etc/group /etc/gshadow
/etc/group:holmes:x:505:
/etc/gshadow:holmes:!::

2.groupmod 修改 group 參數

-n 修改組名
-g 修改GID
[root@localhost home]# groupmod  -n demo holmes #將holmes重命名爲demo
[root@localhost home]# grep demo /etc/group /etc/gshadow
/etc/group:demo:x:505:
/etc/gshadow:demo:!::

3.groupdel 刪除用戶組

須要保證沒有用戶使用該用戶組做爲初始用戶組,若是有用戶將要刪除的用戶組作爲初始用戶組,那麼能夠將修改用戶的GID,或者刪除這個用戶,而後再刪除用戶組

[root@localhost home]# groupdel home
groupdel: cannot remove the primary group of user 'tom'
#刪除 tom 用戶/修改 tom 的GID後,能夠進行刪除操做
[root@localhost home]# groupdel home

4.gpasswd 用戶管理員功能

所謂用戶管理員就是爲一個用戶組設置管理員,管理員能夠管理帳戶進行加入或者移出該用戶組。

用法:gpasswd [option] group

gpasswd [-ad] user group

root操做
-A 將某個用戶設爲某個用戶組的管理員
-M 將某些帳號加入到用戶組中
-r 將用戶組的密碼刪除
-R 讓用戶組的密碼欄失效
用戶組管理員操做
-a 將用戶加入到用戶組中
-d 將用戶移除用戶組中
  • 建立用戶組 home 的管理員 tom (用root建立)
[root@localhost home]# gpasswd -A tom home
[root@localhost home]# grep home /etc/group /etc/gshadow
/etc/group:home:x:505:
/etc/gshadow:home:!:tom:
  • 切換到 tom 管理員下,將 jun 加入到 home 用戶組中
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 組=492(jun)
[tom@localhost ~]$ gpasswd -a jun home
Adding user jun to group home
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 組=492(jun),505(home)
  • 將 jun 移出 home 用戶組下
[tom@localhost ~]$ gpasswd -d jun home
Removing user jun from group home
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 組=492(jun)

 用戶功能

1.finger 查閱用戶相關信息

用法:finger [-lmsp] [user ...] [user@host ...]

-s 單行顯示
-l 多行顯示
[root@localhost ~]# finger -s tom
Login     Name       Tty      Idle  Login Time   Office     Office Phone
tom                   *     *  No logins
[root@localhost ~]# finger -l tom    # -l 可省略
Login: tom                        Name: 
Directory: /home/tom                    Shell: /bin/bash
Never logged in.
No mail.
No Plan.
  • 新建一個計劃
[tom@localhost ~]$ echo "I will work hard this year" >~/.plan
[tom@localhost ~]$ finger tom
Login: tom                        Name: 
Directory: /home/tom                    Shell: /bin/bash
Never logged in.
No mail.
Plan:
I will work hard this year
  • 查看系統上登陸的用戶與登陸時間
[tom@localhost ~]$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
jun                 pts/3      7d  Jan 25 14:09 (192.168.123.123)
root      root       pts/2          Feb  1 19:32 (192.168.111.111)

2.chfn 修改 finger 的信息

用法:chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u] [-v] [username](通常沒什麼用)

[tom@localhost ~]$ chfn
Changing finger information for tom.
密碼:
Name []: tom
Office []: 088-88888888 #辦公室電話
Office Phone []: 18899990000 #辦公室手機號
Home Phone []: 088-666666   #家裏電話

Finger information changed.

3.chsh 修改用戶的shell

用法:chsh [-s shell] [-l] [-u] [-v] [username]

  • 查看本身的shell
[tom@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
  • 修改本身的shell (通常別亂改)
[tom@localhost ~]$ chsh -s /bin/csh

關於用戶的內容見 用戶與用戶組之用戶篇

http://www.javashuo.com/article/p-bfnsibws-m.html

相關文章
相關標籤/搜索