用戶和組

1. 用戶組的分類

    管理員 root  :具有使用系統所有權限的用戶,其UID 爲0.

    普通用戶  : 即一般用戶,其使用系統的權限受限,UID500-60000之間.

    系統用戶 :保障系統運行的用戶,一般不提供密碼登錄系統,其UID爲1-499之間.

2. 修改用戶及用戶組的命令:

    useradd    usermod    userdel    groupadd    groupmod    groupdel    

    a. 增加用戶:useradd [options] username

        options:   -u : UID
                   -g : GID

                   -c   :註釋     用戶設置對賬戶的註釋說明文字

                   -d : 指定用戶家目錄,默認在/home/username

                   -s :指定用戶所在的shell環境

                   -G :指定用的附加組

例 : 增加一個用戶test UID爲1111 家目錄爲/home/test, shell爲/bin/sh,附加組爲root


# useradd -u 1111 -d /home/test -G root -s /bin/sh test

此時的用戶是不能登錄的,因爲沒有設置密碼,並且,有了密碼登陸後狀態異常,因爲沒有正常家目錄該有的配置文件,所以,需要我們配置一下:

[root@centous1 ~]# passwd test
更改用戶 test 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
[root@centous1 test]#  cd /etc/skel/
[root@centous1 skel]# ls
[root@centous1 skel]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla
[root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/test
[root@centous1 skel]# cd /home/test
[root@centous1 test]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

        b. 修改用戶: usermod [options] username

        options:

            -u UID: 新UID 

            -g GID: 新基本組 

            -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加 組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append; 

            -s SHELL:新的默認SHELL; 

            -c 'COMMENT':新的註釋信息; 

            -d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移 動至新的家目錄;若要創建新家目錄並移動原家數據,同時使用-m選項 

            -l login_name: 新的名字;

            -L: lock指定用戶,在/etc/shadow 密碼欄的增加 ! 

            -U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉 

            -e YYYY-MM-DD: 指明用戶賬號過期日期; 

            -f INACTIVE: 設定非活動期限;

   usermod用法和useradd一樣,只不過它是用來改變用戶的屬性。

        c.  刪除用戶 

                userdel test   # 這樣刪除的話,用戶是沒有了,但是用戶的家目錄還有

                userdel -r test    # 這樣刪除的話,用戶和家目錄都沒有了

groupadd  增加用戶組: groupadd  -g  1110 groupname  #指定用戶組的 UID並建立

groupmod  修改用戶組: group -n group_name: 新名字     -g GID: 新的GID;

groupdel  刪除用戶組: groupdel GROUP


3. 組密碼:gpasswd

gpasswd [OPTION] GROUP 

-a user: 將user添加至指定組中; 

-d user: 從指定組中移除用戶user 

-A user1,user2,...: 設置有管理權限的用戶列表

newgrp命令:臨時切換基本組; 如果用戶本不屬於此組,則需要組密碼

[root@centous1 ~]# gpasswd -a test root
Adding user test to group root
[root@centous1 ~]# gpasswd -d test root
Removing user test from group root

4.密碼和密碼文件的配置

Linux提供了集成的系統管理工具userconf,他能用來對用戶賬號進行統一管理。


      用戶帳戶本身在 /etc/passwd 中定義。Linux 系統包含一個 /etc/passwd 的同伴文件,叫做 /etc/shadow。該文件不像 /etc/passwd,只有對於 root 用戶來說是可讀的,並且包含加密的密碼信息。

[root@centous1 ~]# cat /etc/passwd | head -n 6
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
[root@centous1 ~]# cat /etc/shadow |head -n 6
root:$6$WC1TihR1JeISuS0/$3xpGDIgJuN9xn9.N0AA9SYAt05dI.iFShcSVWCx3vZjUbMjfABSumpXHUvc3C1Er1wV7xvzjK1Z83qf4yuAkQ/:16923:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
 每一行給一個特別帳戶定義密碼信息,同樣的,每個字段用 : 隔開。第一個字段定義和這個shadow條目相關聯的特別用戶帳戶。第二個字段包含一個加密的密碼。其餘的字段在下表中描述: 
              
              字段 3 自 1/1/1970 起,密碼被修改的天數 
              字段 4 密碼將被允許修改之前的天數(0 表示“可在所有時間修改”) 
              字段 5 系統將強制用戶修改爲新密碼之前的天數(1 表示“永遠都不能修改”) 
              字段 6 密碼過期之前,用戶將被警告過期的天數(-1 表示“沒有警告”) 
              字段 7 密碼過期之後,系統自動禁用帳戶的天數(-1 表示“永遠不會禁用”) 

              字段 8 該帳戶被禁用的天數(-1 表示“該帳戶被啓用”) 字段9保留供將來使用 

保存系統中組的信息文件是/etc/group

    將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬於某個用戶組;一個組中能有多個用戶,一個用戶也能屬於不同的組。當 一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱爲附加組。用戶要訪問屬 於附加組的文件時,必須首先使用newgrp命令使自己成爲所要訪問的組中的成員。用戶組的所有信息都存放在/etc/group文件中。此文件的格式也 類似於/etc/passwd文件,由冒號隔開若干個字段,這些字段有:
組名:口令:組標識號:組內用戶列表
(1)“組名”是用戶組的名稱,由字母或數字構成。和/etc/passwd中的登錄名相同,組名不應重複。
(2)“口令”字段存放的是用戶組加密後的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般爲空,或是*。
(3)“組標識號”和用戶標識號類似,也是個整數,被系統內部用來標識組。

(4)“組內用戶列表”是屬於這個組的所有用戶的列表,不同用戶之間用逗號“,”分隔。這個用戶組可能是用戶的主組,也可能是附加組。

[root@centous1 ~]# cat /etc/group |  head -n 6
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:

5. 批量創建用戶

newusers  passwd格式文件 批量創建用戶

  chpasswd  批量修改用戶口令

首先創建用戶文件

[root@centous1 ~]# cat users.txt
hehe:x:2000:2000::/home/hehe:/bin/bash
hehe1:x:2001:2001::/home/hehe1:/bin/bash
hehe2:x:2002:2002::/home/hehe2:/bin/bash
hehe3:x:2003:2003::/home/hehe3:/bin/bash
hehe4:x:2004:2004::/home/hehe4:/bin/bash

然後用newusers 創建用戶

[root@centous1 ~]# newusers users.txt
[root@centous1 ~]# cat /etc/passwd | tail -n 6
test:x:1111:1111::/home/test:/bin/sh
hehe:x:2000:2000::/home/hehe:/bin/bash
hehe1:x:2001:2001::/home/hehe1:/bin/bash
hehe2:x:2002:2002::/home/hehe2:/bin/bash
hehe3:x:2003:2003::/home/hehe3:/bin/bash
hehe4:x:2004:2004::/home/hehe4:/bin/bash

創建好用戶後,還不能登錄,因爲linux需要密碼才能以用戶身份登錄系統,用chpasswd命令,給用戶設置密碼

[root@centous1 ~]# cat pass.txt
hehe:123456
hehe1:123456
hehe2:123456
hehe3:123456
hehe4:123456
[root@centous1 ~]# cat pass.txt | chpasswd

設置完密碼,但是用戶登錄上去異常,和上述一樣,給用戶的家目錄添加配置文件

[root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/hehe
[root@centous1 skel]# cd /home/hehe
[root@centous1 test]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

6.常用小命令

ps aux 查看系統用戶進程

getent passwd 用戶名 查看用戶的信息

groupmems -l -g 組名  查看組裏邊都有哪些用戶

id 用戶名   查看UID GID 所在組


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