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 的範圍對應的不一樣特性。加密

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

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

也能夠查看 /etc/passwd 文件,其中第一個值表明帳號名稱,第三個值表明 UID,第四個值表明GID,如 sherlock 的 UID 爲505,GID 爲505htm

[root@localhost ~]# grep 'sherlock' /etc/passwd
sherlock:x:505:505::/home/sherlock:/bin/bash

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

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

Linux -- 用戶

 1. useradd,具體的 useradd 用法能夠查看幫助手冊(man useradd)

-u 後面接UID,指定某個UID給該用戶

-r 建立一個系統帳號,UID小於500

-d 指定某個目錄成爲主文件夾,默認使用home下的login名稱對應的目錄爲用戶的主文件夾

-g 初始用戶組,默認的用戶組數字爲1

-G 後面接組名,表明將用戶加入某些組,組與組之間用 」,」 號隔開

-m 若是沒有用戶目錄則自動建立(通常帳號)

-M 不建立用戶目錄(系統帳號)

-c 設置帳號 /etc/passwd的說明

-e 帳號的失效日期,後面接」YYYY-MM-DD」

-f 密碼失效日期,0爲當即失效,-1爲永不失效,默認爲-1

-s 後面接shell,默認爲/bin/bash

-n 取消將用戶加入設置的默認用戶組(組名與用戶名相同),若是取消,用戶會加入默認的100(users) 用戶組下
  • 新增用戶 useradd username
[root@localhost ~]# useradd sherlock
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=506(sherlock) 組=506(sherlock)
#默認將
/home/sherlock 做爲用戶的主文件夾 [root@localhost ~]# ll -d /home/sherlock drwx------ 4 sherlock sherlock 4096 2月 1 15:02 /home/sherlock
#
passwd/shadow/group 添加了這個用戶和默認設置的用戶組信息 [root@localhost ~]# grep sherlock /etc/passwd /etc/shadow /etc/group /etc/passwd:sherlock:x:505:506::/home/sherlock:/bin/bash /etc/shadow:sherlock:!!:17928:0:99999:7::: /etc/group:sherlock:x:506:
  • 設置特定的 UID 給新用戶(通常不用
[root@localhost ~]# useradd -u 700 sherlock
  • 新增用戶時設置用戶的初始用戶組(注意:設置的用戶組必須已經存在)
[root@localhost ~]# useradd sherlock -g holmes
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=505(holmes) 組=505(holmes)
  • 新增用戶時將用戶加入某個用戶組(注意:加入的用戶組必須已經存在)
[root@localhost ~]# useradd sherlock -G demo
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=507(sherlock) 組=507(sherlock),506(demo)
  • 新增用戶時設置說明
[root@localhost ~]# useradd sherlock -g holmes -c "I am sherlock holmes"
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am sherlock holmes:/home/sherlock:/bin/bash
  • 新增用戶,並設置用戶爲不可登陸主機
[root@localhost ~]# useradd -c "tony" -s /sbin/nologin tony
  • 新增系統帳號
[sherlock@localhost home]$ useradd -r sherlock
  • 查看 useradd 的默認值
[root@localhost ~]# useradd -D
GROUP=100   #默認用戶組,若是使用useradd -n username 就會默認加入這個用戶組
HOME=/home  #默認主文件目錄
INACTIVE=-1 #密碼失效日,/etc/shadow 第7列
EXPIRE=     #帳號失效日,/etc/shadow 第8列
SHELL=/bin/bash #默認的shell
SKEL=/etc/skel  #用戶主文件夾的內容數據參考目錄
CREATE_MAIL_SPOOL=yes   #是否自動建立用戶的郵箱

 2.passwd 密碼設置

用法:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

-l 將 /etc/shadow 第二列最前面加上!,使得密碼失效
-u 與 -l 相反
-S 列出密碼的相關參數
-n 不可更改密碼的天數
-x 必需要更改密碼的天數
-w 密碼過時前的警告天數
-i 密碼失效的日期
  • 設置用戶密碼
[root@localhost ~]# passwd sherlock
更改用戶 sherlock 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd: 全部的身份驗證令牌已經成功更新。
  • 查看用戶的密碼參數
[root@localhost ~]# passwd -S sherlock
sherlock PS 2019-02-01 0 99999 7 -1 (密碼已設置,使用 SHA512 加密。)
#用戶名 PS 密碼建立日期 最小天數 更改天數 警告天數 密碼是否會失效(0-當即失效,-1-永不失效)
  • 修改用戶的須要更改密碼的天數和失效天數
[root@localhost ~]# passwd -x 30 -i 60 sherlock
調整用戶密碼老化數據sherlock。
passwd: 操做成功
[root@localhost ~]# passwd -S sherlock
sherlock PS 2019-02-01 0 30 7 60 (密碼已設置,使用 SHA512 加密。)
#用戶名 PS 密碼建立日期 最小天數 在30天后須要更改密碼 警告天數 密碼60天后會失效

3.chage 修改密碼參數

用法:chage [options] [LOGIN]

-l 列出帳號的詳細密碼信息
-d 最後一次更改密碼的日期
-E 帳號失效日
-I 密碼失效日期
-m 密碼最短保留天數
-M 密碼須要修改天數
-W 密碼過時前的警告日期
  • 顯示密碼的詳細參數信息
[root@localhost ~]# chage -l sherlock
Last password change                    : Feb 01, 2019
Password expires                    : Mar 03, 2019
Password inactive                    : May 02, 2019
Account expires                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 30
Number of days of warning before password expires    : 7
  • 強制用戶首次登陸時必須更改密碼,能夠在建立用戶時加入 [root@localhost ~]# chage -d 0 username ,效果以下:
[root@localhost ~]# chage -d 0 sherlock
[sherlock@localhost ~]$ chage -l sherlock
Last password change                    : password must be changed
Password expires                    : password must be changed
Password inactive                    : password must be changed
Account expires                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 30
Number of days of warning before password expires    : 7

 4.usermod 修改用戶帳號數據

用法:

usermod [-c comment] [-d home_dir [ -m]]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-l login_name] [-s shell]
[-u uid [ -o]] login

-u 後面接UID,指定某個UID給該用戶

-r 建立一個系統帳號,UID小於500

-d 指定某個目錄成爲主文件夾,默認使用home下的login名稱對應的目錄爲用戶的主文件夾

-g 初始用戶組,默認的用戶組數字爲1

-G 後面接組名,表明將用戶加入某些組,組與組之間用 」,」 號隔開

-m 若是沒有用戶目錄則自動建立(通常帳號)

-M 不建立用戶目錄(系統帳號)

-c 設置帳號 /etc/passwd的說明

-e 帳號的失效日期,後面接」YYYY-MM-DD」

-f 密碼失效日期,0爲當即失效,-1爲永不失效,默認爲-1

-s 後面接shell,默認爲/bin/bash

-n 取消將用戶加入設置的默認用戶組(組名與用戶名相同),若是取消,用戶會加入默認的100(users) 用戶組下
  • 修改帳號的說明 usermod -c 「說明內容」 username
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am sherlock holmes:/home/sherlock:/bin/bash
[root@localhost ~]# usermod -c "I am soooo cool" sherlock
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am soooo cool:/home/sherlock:/bin/bash
  • 修改帳號的主目錄,須要注意,修改帳號主目錄後,須要把環境配置文件移到新目錄下,不然切換到該用戶時會形成  -bash-4.1$ 模式,具體操做以下
[root@localhost ~]# usermod -d /home/demo sherlock
[root@localhost ~]# cp -a /etc/skel/. /home/demo

若是觸發了 -bash-4.1$ 模式,將 /etc/skel/. 的內容拷貝到用戶新的主目錄下 主目錄下的環境變量有:

 

5.userdel 刪除用戶

此命令會刪除用戶的全部數據,加上 -r 參數表明連用戶的主文件夾一塊兒刪除

[sherlock@localhost ~]$ userdel -r sherlock

用戶組內容見 用戶與用戶組之用戶組篇 

http://www.javashuo.com/article/p-xxqokzki-bc.html

相關文章
相關標籤/搜索