中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

新手學Linux之用戶與組管理

發布時間:2020-02-14 11:10:30 來源:網絡 閱讀:478 作者:kop309 欄目:數據庫

一、linux用戶與組管理的基本介紹

1、任何一個用戶想要使用Linux系統都要向管理員申請一個賬號,對這些賬號的管理即是對用戶的管理,所謂組,就是多個賬號的集合。用戶和組管理可以提高用戶的管理效率、工作效率以及系統的安全性,比如將同一個部門的成員放在一個組里并設置權限,這樣可有效的對資源共享,同時可以避免其他部門的人惡意破壞。

2、用戶和組的管理內容一般有如下幾點:

用戶賬號的增加、刪除和權限的修改;
組賬號的增加、刪除和權限的修改,組成員的添加與刪除;
用戶賬號密碼和組賬號密碼的管理;

3、用戶可以分為管理員和普通用戶,普通用戶又可以細分為系統用戶和登錄用戶。Linux系統并不是通過用戶名來識別用戶的,而是通過用戶的ID號(UID)。系統管理員的ID號為0,普通用戶的可用ID號為1至65535,其中系統用戶的可用ID號在CentOS6中為1-499,在CentOS中為1-999;登錄用戶的可用ID號在CentOS6中為500及以上,在CentOS中為1000及以上。

4、組對應用戶可以分為管理員組和普通組,普通組又可以分為系統組和普通組,系統也是通過ID號來識別用戶組的其組號與上面的用戶ID號對應。對于一個用戶來說是可以有多個組的,因此,組還可以分為用戶的基本組(主組)和附加組。基本組組名和用戶名相同,且只有一個用 戶,基本組以外的組屬于用戶的附加組,用戶只能有一個基本組,附加組可以有多個。

二、用戶和組的相關配置文件的介紹

1、/etc/passwd

此文件記錄的是Linux用戶的基本信息,以冒號“:”分為7個字段,每個字段代表不同的意義,了解其格式我們可以查看man手冊:

account:password:UID:GID:GECOS:directory:shell
account:用戶名
password:用戶密碼,早期的用戶密碼是放在/etc/passwd文件(只有管理員可以讀取)中的,但是由于所有人都可以讀取此文件,很不安全,因此后來就將這個字段的密碼數據改放到/etc/shadow文件中,此字段用X字母表示
UID:用戶ID
GID:組ID
GECOS:用戶的注釋信息
directory:用戶的家目錄
shell:用戶默認登錄的shell

以root賬號為例:

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

2、/etc/shadow

此文件記錄的是用戶的密碼信息,以冒號“:”分為9個字段,如下:

login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field
login name:登錄用戶名稱
encrypted password:加密的密碼,如果此字段的第一個字符是“*”或“!”,表示此賬號被鎖定,不能登錄系統
date of last password change:最近可以改動密碼的日期,以1970年1月1日開始以天為單位
minimum password age:密碼不可改動的天數,如果此字段為0則表示隨時可以修改密碼
maximum password age:密碼需要重新修改的日期,默認此字段為99999,表示99999天后必須重新更改密碼
password warning period:密碼需要重新修改期限前的警告期,比如99999天后必須修改密碼,但是系統會提前告知用戶,默認提前7天
password inactivity period:密碼過期的寬限時間,指定密碼過期后幾天將被禁用,但在此間賬號任然可以登錄
account expiration date:密碼被禁用的日期,從1970年1月1日算起,以天為單位,這個賬號在此字段規定的日期之后,將無法再使用。
reserved field:保留字段

以root為例:

root:$6$JPIUZBv/rrjJRRvU$8oTHpJ04gHA7iwWK7Ea6DMSQJmo01JJd4ClwJUEMFeyavOPdxFRpGpmjzYZd4PZNMQpK4qot4acCyyRlV6.hP.:17002:0:99999:7:::

3、/etc/group

此文件記錄的是用戶組的相關信息,以冒號“:”分為4個字段,如下:

group_name:passwd:GID:user_list
group_name:用戶組名稱
passwd:用戶組密碼,通常不用設定,因為密碼是被記錄在/etc/gshadow文件中
GID:用戶組ID
user_list:組成員

以root為例:

root:x:0:gentoo

4、/etc/gshadow

此文件記錄的是用戶組的密碼信息,以冒號“:”分為4個字段,如下:

group name:encrypted password:administrators:members
group name:組賬號
encrypted password:加密的組密碼
administrators:組管理員
members:組成員

以root為例:

root:::gentoo

5、管理員可以通過修改以上4個文件來對用戶和組進行管理,同時也可以使用命令對用戶和組進行管理。

三、用戶管理命令的介紹

1、useradd

功能:

創建系統新用戶

語法:

useradd [options] LOGIN
useradd -D
useradd -D [options]

選項:

-u:指定用戶的UID
-o:不檢查UID的唯一性。配合-u選項使用,強制指定UID,即使UID已存在
-g:指定用戶的基本組,可以用組名或GID,組必須事先存在
-c:添加用戶的注釋信息
-d:指定用戶登錄時進入的目錄,即主目錄,事先不存在會自動創建,但是家目錄的父目錄必須存在
-e:指定賬號的有效期限,格式為:YYYY-MM-DD
-f:指定賬號過期幾天后永久鎖定,0表立刻鎖定,-1表示關閉此功能
-s:指定用戶登錄的默認shell
-G:指定用戶的附加組,多個組則用逗號隔開,組必須事先存在
-N:不創建用戶的主組,使用users組做為其主組
-r:創建系統用戶,系統用戶默認不會創建家目錄,可以配合-m選項實現
-M:強制不創建家目錄
-D:不接選項為顯示當前系統預設值,接選項為修改給系統預設值,可接的選項如下:
   -b:修改新用戶的默認家目錄,若使用-d選項后此選項無效
   -e:修改新賬號默認的停止日期(有效期限)
   -f:修改新賬號默認的鎖定日期
   -g:修改新用戶的組,必須事先存在
   -s:修改新用戶的默認shell
注意:-D選項修改的內容會被記錄在/etc/login.defs文件中,因此是永久生效的

示例:

新建了一個用戶haha,該用戶的登錄Shell是/bin/sh,同時又屬于bin和root用戶組,UID為2048,家目錄為/testdir/haha
[root@localhost ~]# useradd -G bin,root -s /bin/sh -d /testdir/haha -u 2048 haha

2、usermod

功能:

修改用戶賬號屬性

語法:

usermod [options] LOGIN

選項:

-u:修改用戶UID
-g:修改用戶GID
-G:新附加組(且組需事先存在),原來的附加組將會被覆蓋;若保留原有組,則要同時使用-a 選項,
-s:修改用戶的默認shell
-c:添加新的注釋信息
-d:新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m選項
-l:修改用戶命名
-L:鎖定用戶,即在/etc/shadow第二個字段最前面添加“!”
-U:解鎖用戶,即將/etc/shadow第二個字段最前面的“!”刪除
-e:指明用戶賬號過期日期,格式為YYYY-MM-DD
-f:設定非活動期限,即用停權期限

說明:

usermod命令不可以修改正在線上的用戶的名稱,當usermod用來改變UID時,必須確認用戶沒在電腦上執行任何程序。

示例:

將用戶haha添加到用戶組users中,同時不離開其他用戶組 
[root@localhost ~]# usermod -aG users haha

3、userdel

功能:

刪除用戶

語法:

userdel [options] LOGIN

選項:

-f:強制刪除用戶,即使用戶已登錄
-r:刪除用戶的同時刪除與用戶相關的所有文件

示例:

[root@localhost ~]# userdel -r gentoo

注意:請不要輕易用-r選項,如果用戶目錄下有重要的文件,在刪除前請備份。

4、passwd

功能:

修改用戶的密碼信息,只有管理員可以修改指定用的密碼信息,其他普通用戶只能修改自己的密碼。

語法:

passwd [option] [username]

選項:

-l:鎖定指定用戶的密碼
-u:解定指定用戶的密碼
-e:強制用戶下次登錄時修改密碼
-n:指定用戶密碼的最短使用期限
-x:指定用戶密碼的最大使用期限
-w:提前多少天警告用戶修改密碼
-i:用戶停權的期限
-S:顯示指定用戶的信息,包括加密算法
-k:設置密碼過期后才能修改密碼,即保持用戶密碼不過期
-g:修改組密碼
-d:刪除密碼,只有管理員才有權限
--stdin:從標準輸入接收并設置用戶密碼,如下:
   echo "PASSWORD" | passwd --stdin USERNAME

示例:

鎖定用戶user1密碼,將用戶sam的密碼刪除
[root@localhost ~]# passwd -l user1 ; passwd -d sam

5、chage

功能:

修改用戶密碼過期信息

語法:

chage [options] LOGIN

選項:

-d:上一次修改密碼的日期,其格式為YYYY-MM-DD,如果設置為0則表示此用戶在下次登錄時必須修改密碼
-E:設置密碼到期的日期,超過此天用戶密碼則被鎖定(設置的是/etc/shadow文件的第8字段)
-I:設定停滯時間,超過此時間段賬號將不可用,(設置的是/etc/shadow文件的第7字段)
-m:密碼可以修改的最小天數,設置為0時表示任何時候都可以修改
-M:密碼有效的最大天數
-W:密碼到期,提前幾天警告
-l:顯示用密碼設置的信息

示例:以我的系統為例

(1)[root@localhost ~]# chage -l root
最近一次密碼修改時間                  :從不
密碼過期時間                  :從不
密碼失效時間                  :從不
帳戶過期時間                      :從不
兩次改變密碼之間相距的最小天數     :0
兩次改變密碼之間相距的最大天數     :99999
在密碼過期之前警告的天數    :7

(2)[root@localhost ~]# chage -I 5 user1
[root@localhost ~]# chage -l user1
最近一次密碼修改時間                  :8月 02, 2016
密碼過期時間                  :10月 01, 2016
密碼失效時間                  :10月 06, 2016
帳戶過期時間                      :1月 01, 1970
兩次改變密碼之間相距的最小天數     :0
兩次改變密碼之間相距的最大天數     :60
在密碼過期之前警告的天數    :7

6、finger

功能:

用戶信息查找程序。單獨執行finger指令,它會顯示本地主機現在所有登錄用戶的信息。如果要查詢遠程主機的用戶信息,需要使用user@host的格式

語法:

finger [-lmsp] [user ...] [user@host ...]

選項:

-l:列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,還有計劃文件和方案文件內容;
-m:不查找用戶的真實姓名;
-s:列出該用戶的帳號名稱,真實姓名,登入終端機,閑置時間,登入時間以及地址和電話;
-p:列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,但不顯示該用戶的計劃文件和方案文件內容

示例:

[root@localhost ~]# finger linuxpao
Login: linuxpao                 Name:
Directory: /home/linuxpao               Shell: /bin/bash
On since Tue Aug  2 16:25 (CST) on tty3   6 minutes 47 seconds idle
New mail received Fri Jul 29 21:19 2016 (CST)
    Unread since Wed Jul 20 17:51 2016 (CST)
No Plan.

7、chfn

功能:

修改finger命令顯示的信息

語法:

chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u] [-v] [username]

選項:

-f:設置用戶真實姓名
-o:設置用戶的辦公室地址
-p:設置用戶的辦公室電話
-h:設置用戶的家庭電話

示例:

[root@localhost ~]# chfn
Changing finger information for root.
Name [root]: xiaobao              
Office []: 北京三里屯
Office Phone []: 010020
Home Phone []: 12345678

Finger information changed.

8、chsh

功能:

修改過用戶的登錄shell

語法:

chsh [-s shell] [-l] [-u] [-v] [username]

選項:

-s:修改用戶的shell
-l:打印當前系統支持的shell(即/etc/shells文件記錄的shell)

示例:

(1)查看當前系統支持的shell
[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
(2)修改用戶haha的shell為/bin/csh
[root@localhost ~]# chsh -s /bin/csh haha
Changing shell for haha.
Shell changed.

四、用戶組管理命令的介紹

1、groupadd

功能:

創建一個新組。
組名必須以小寫字母或者下劃線開頭,跟隨小寫字母、下劃線或短橫線。可以由美元符號結束。用正則表達式就是:[a-z_][a-z0-9_-]*[$]?
組名最長為 16 個字符。

語法:

groupadd [選項] group

選項:

-g:指定新組的GID
-o:需與-g選項連用,此選項允許添加一個使用非唯一 GID 的組。
-r: 創建一個系統組
-K:覆蓋/etc/login.defs文件的默認值

示例:

增加了一個新系統組xixi,同時指定新組的組標識號是222
[root@localhost ~]# groupadd -r 222 xixi
[root@localhost ~]# tail -1 /etc/group
xixi:x:222:

2、groupmod

功能:

修改用戶組相關信息

語法:

groupmod [選項] GROUP

選項:

-n:修改用戶組的名稱
-g:修改用戶組的GID
-o:與-g選項連用,表示強制使用某個已經存在的組ID號

示例:

將組xixi的標識號改為10000,組名修改為xixihaha
[root@localhost ~]# groupmod -g 10000 -n xixihaha xixi
[root@localhost ~]# getent group xixihaha
xixihaha:x:10000:

3、groupdel

功能:

刪除一個組

語法:

groupdel [選項] GROUP

說明:

不能移除現有用戶的主組。在移除此組之前,必須先移除此用戶

示例:

刪除user1組(用戶user1已刪除)
[root@localhost ~]# groupdel user1

4、gpasswd

功能:

管理用戶組,是組文件/etc/group和/etc/gshadow的管理工具

語法:

gpasswd [選項] group

選項:

-a:向group添加新用戶
-d:從group刪除用戶
-r:刪除組密碼
-A:指定組管理員
-M:指定組成員

示例:

將用戶haha,sarah加入admins組
[root@localhost ~]# gpasswd -M haha,sarah admins
[root@localhost ~]# tail /etc/group
tcpdump:x:72:
linuxpao:x:500:
admins:x:502:haha,sarah

5、newgrp

功能:

臨時登錄到一個新組

語法:

newgrp [-] [group]

示例:

如果用戶本不屬于某組,則需要組密碼,如下示例
[root@localhost ~]# id haha
uid=2048(haha) gid=2048(haha) groups=2048(haha),0(root),1(bin),100(users),502(admins)
[root@localhost ~]# su - haha
[haha@localhost ~]$ newgrp admins
[haha@localhost ~]$ id
uid=2048(haha) gid=502(admins) groups=502(admins),0(root),1(bin),100(users),2048(haha)
[haha@localhost ~]$ newgrp harry(組)
Password:

6、groupmems

功能:

管理和查看主組成員

語法:

groupmems -a user_name | -d user_name | [-g group_name] | -l | -p

選項:

-a:將一個用戶添加到組成員列表
-d:從組成員列表中刪除用戶
-g:超級用戶可以指定修改哪個組的組成員列表,需要配合其他幾個選項使用
-l:列出組成員
-p:從組成員列表中刪除所有用戶

示例:

顯示bin組的成員
[root@localhost ~]# groupmems -l -g bin
bin  daemon  haha
向bin組添加成員linuxpao
[root@localhost ~]# groupmems -a linuxpao -g bin
[root@localhost ~]# groupmems -l -g bin
bin  daemon  haha  linuxpao

7、groups

功能:

 查看用戶所屬組

語法:

groups [OPTION]... [USERNAME]...

示例:

顯示haha用戶所在的組
[root@localhost ~]# groups haha
haha : haha root bin users admins

五、用戶與組管理的相關命令補充

1、newusers

功能:

批量更新和創建新用戶

語法:

newusers [選項] [文件]

選項:

-c:使用指定的方法加密密碼,可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持這寫方法
-r:創建一個系統賬戶
-s:使用指定次數的輪轉來加密密碼,值 0 表示讓系統為加密方法選擇默認的輪轉次數 (5000),默認,輪轉數由 /etc/login.defs 文件中的 SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS變量確定

文件格式:

必須是/etc/passwd文件的格式,如下:
pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
對應  用戶名:密碼:UID:GID:GECOS:家目錄:登錄shell

示例:

創建文件user.txt,以批量添加用戶haha1,haha2,haha3.
vim user.txt(以下是文件內容)
haha1:x:3001:3001::/home/haha1:/bin/bash
haha2:x:3002:3002::/home/haha2:/bin/bash
haha3:x:3003:3003::/home/haha3:/bin/bash
------------------------------------------
[root@localhost testdir]# newusers user.txt (批量創建)
[root@localhost testdir]# tail -3 /etc/passwd (查看創建結果)
haha1:x:3001:3001::/home/haha1:/bin/bash
haha2:x:3002:3002::/home/haha2:/bin/bash
haha3:x:3003:3003::/home/haha3:/bin/bash

2、chpasswd

功能:

批量更新用戶密碼

語法:

chpasswd [選項]

格式:

user_name:password,默認必須明文提供密碼,然后由 chpasswd 加密

選項:

-c:使用指定的方法加密密碼
-e:提供的密碼是已經加密了的
-m:如果提供的密碼沒有加密,則使用 MD5 加密而不是 DES
-s:使用指定次數的輪轉來加密密碼

示例:

創建文件passwd.txt,以批量添加用戶haha1,haha2,haha3的密碼,算法使用MD5。
vim passwd.txt (以下為文本內容)
haha1:123456
haha2:qwerty
haha3:asdfgh
-----------------------------------------
[root@localhost testdir]# cat passwd.txt | chpasswd -c MD5(批量加密)
[root@localhost testdir]# tail -3 /etc/shadow   (加密結果)
haha1:$1$Epulz/Ew$.VMMX.uodFeo7wOay6slU.:17015:0:99999:7:::
haha2:$1$YMvrS/Ks$S5aDmDuaRwG3NsOe4z7wS1:17015:0:99999:7:::
haha3:$1$hwyABoHg$tY0ZP4xmRQ.pwmkuMKiXD0:17015:0:99999:7:::

3、id

功能:

顯示真實有效的用戶和組ID號

語法:

id [OPTION]... [USER]

選項:

-u:顯示用戶UID
-g:顯示用戶主組的GID
-G:顯示用戶所屬附加組的GID
-n:顯示組名稱而非數字,與-ugG 一起使用
-r:顯示真實ID 而非有效ID,與-ugG 一起使用
-Z:僅顯示當前用戶的安全環境

示例:

顯示haha的用戶ID和所有組ID
[root@localhost testdir]# id haha
uid=2048(haha) gid=2048(haha) groups=2048(haha),0(root),1(bin),100(users),502(admins)

4、su

功能:

切換用戶或以其他用戶身份執行命令

語法:

su [options...] [-] [user [args...]]

選項:

-l:使用新用戶的所有相關環境設定文件,相當于 su - username
-m:表示使用目前的環境設定,而不重新讀取新用戶的設定文件
-c:僅執行一次命令,所以 -c 后面可以加上命令
-s:指定要執行的shell

示例:

使用帳號為root并在執行ls指令后退出變回原使用者
[root@localhost testdir]# su -c ls root(需要注意文件權限問題)
bc   file   haha    ls  passwd.txt  uset.txt  cat  file1  lost+found
[root@localhost testdir]#

5、getent

功能:

用來察看系統的數據庫中的相關記錄

語法:

getent database [key ...]

datebase包括的列表:

ahosts;ahostsv4;ahostsv6;aliases;ethers;group;gshadow;hosts;initgroups;
netgroup;networks;passwd;protocols;rpc;services;shadow

示例:

使用命令getent查看Linuxpao用戶在/etc/passwd文件中信息
[root@localhost testdir]# getent passwd linuxpao
linuxpao:x:500:500::/home/linuxpao:/bin/bash

6、pwconv和pwunconv

功能:

pwconv:開啟用戶的投影密碼
pwunconv:關閉用戶的投影密碼

示例:

[root@localhost testdir]# getent passwd haha
haha:x:2048:2048::/testdir/haha:/bin/csh
[root@localhost testdir]# getent shadow haha
haha:$6$3X8z.cbV$khAmbdajf7fyqZaNtRZWKBlRAaKuPUm6pvGIyvfhJfSMObQVX08k/6wUoksDDc/G71UhxBUNBeO0/Waa.hUPN1:17015:0:99999:7:::
-----------以上是關閉用戶的投影密碼前haha用戶的/etc/passwd和/etc/shadow
[root@localhost testdir]# pwunconv (關閉投影密碼)
[root@localhost testdir]#getent passwd haha  (可以看到/etc/shadow密碼移到了/etc/passwd)
haha:$6$3X8z.cbV$khAmbdajf7fyqZaNtRZWKBlRAaKuPUm6pvGIyvfhJfSMObQVX08k/6wUoksDDc/G71UhxBUNBeO0/Waa.hUPN1:2048:2048::/testdir/haha:/bin/csh
[root@localhost testdir]# cat /etc/shadow | grep haha(提示/etc/shadow不存在)
cat: /etc/shadow: No such file or directory
-------------
[root@localhost testdir]# pwconv (開啟投影密碼,恢復系統默認狀
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌阳县| 沙田区| 林芝县| 同江市| 南溪县| 克东县| 彭山县| 哈尔滨市| 隆林| 湘潭市| 山丹县| 三明市| 泽库县| 溧水县| 新化县| 葵青区| 平山县| 平邑县| 鲁甸县| 商洛市| 奇台县| 金秀| 收藏| 尉犁县| 贵南县| 来宾市| 玉山县| 仙居县| 平乡县| 两当县| 建始县| 沂南县| 泽普县| 横峰县| 石河子市| 邵武市| 鸡西市| 陕西省| 公主岭市| 德令哈市| 平阳县|