用戶管理操作:增、刪、改以及文件權限相關內容

在Linux系統中創建用戶

在創建用戶之前我們要先學習一下Linux系統上的用戶:
用戶user

令牌token,identity
Linux用戶:Username/UID
管理員:root, 0
普通用戶:1-65535
系統用戶:1-499, 1-999(CentOS7)
對守護進程獲取資源進行權限分配
登錄用戶:500+, 1000+(CentOS7)
交互式登錄

passwd文件格式:

login name:登錄用名(wang)
passwd:密碼(x)
UID:用戶身份編號(1000)
GID:登錄默認所在組編號(1000)
GECOS:用戶全名或註釋
home directory:用戶主目錄(/home/wang)
shell:用戶默認使用shell (/bin/bash)

shadow文件格式:

登錄用名
用戶密碼:一般用sha512加密
從1970年1月1日起到密碼最近一次被更改的時間
密碼再過幾天可以被變更(0表示隨時可被變更)
密碼再過幾天必須被變更(99999表示永不過期)
密碼過期前幾天系統提醒用戶(默認爲一週)
密碼過期幾天後帳號會被鎖定
從1970年1月1日算起,多少天后帳號失效

在這裏插入圖片描述
在這裏插入圖片描述

設置密碼

passwd[OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
passwd: 修改自己的密碼
常用選項:
  -l:鎖定指定用戶
  -u:解鎖指定用戶
  -e:強制用戶下次登錄修改密碼
  -n mindays: 指定最短使用期限
  -x maxdays:最大使用期限
  -w warndays:提前多少天開始警告
  -i inactivedays:非活動期限
  --stdin:從標準輸入接收用戶密碼
  echo "PASSWORD" | passwd--stdinUSERNAME

Linux 計算日期的時間是以 1970 年 1 月 1 日作爲 1 不斷累加得到的時間

密碼期限:
在這裏插入圖片描述
修改用戶密碼策略:chage

用法:chage [選項] 登錄

選項:
  -d, --lastday 最近日期        將最近一次密碼設置時間設爲“最近日期”
  -E, --expiredate 過期日期     將帳戶過期時間設爲“過期日期”
  -h, --help                    顯示此幫助信息並推出
  -I, --inactive INACITVE       過期 INACTIVE 天數後,設定密碼爲失效狀態
  -l, --list                    顯示帳戶年齡信息
  -m, --mindays 最小天數        將兩次改變密碼之間相距的最小天數設爲“最小天數”
  -M, --maxdays 最大天數        將兩次改變密碼之間相距的最大天數設爲“最大天數”
  -R, --root CHROOT_DIR         chroot 到的目錄
  -W, --warndays 警告天數       將過期警告天數設爲“警告天數”
示例:
	chage-d 0 tom 下一次登錄強制重設密碼
	chage-m 0 –M 42 –W 14 –I 7 tom
	chage-E 2016-09-10 tom

1、設置過期日期:
在這裏插入圖片描述在這裏插入圖片描述
2、設置兩次密碼之間最大天數:
在這裏插入圖片描述在這裏插入圖片描述

3、設置兩次修改密碼之間最小天數:
在這裏插入圖片描述在這裏插入圖片描述
4、設置過期前幾天提示警告:
在這裏插入圖片描述
在這裏插入圖片描述
group組

Linux組:Groupname/GID
管理員組:root, 0
普通組:
系統組:1-499, 1-999(CENTOS7)
普通組:500+, 1000+(CENTOS7)

組的類別:

Linux組的類別:
用戶的主要組(primary group):
          用戶必須屬於一個且只有一個主組
組名同用戶名,且僅包含一個用戶:私有組
          用戶的附加組(supplementary group):
          一個用戶可以屬於零個或多個輔助組

用戶和組的配置文件:

Linux用戶和組的主要配置文件:
/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性

用戶管理:useradd userdel usermod —增,刪,改

/etc/passwd:用戶信息【用戶】【密碼x表示加密】【-u 用戶id】【-g 用戶組id】【-c 用戶描述信息】【-d 用戶家目錄】【-s 用戶shell解釋器】

/etc/group:組信息 【組信息】【組密碼】【-g 組id】【-G 所屬附加組用戶】

/etcadow:用戶密碼信息,用來記錄密碼策略,【用戶名】【密碼】【1970年到上一次修改密碼時間】【/etc/login.defs 密碼多少天內不能修改密碼,0表示隨時可修改】【/etc/login.defs 密碼有效期是多少天,99999表示密碼永不更改】【/etc/login.defs 密碼到期前7天通知信息】【useradd/mod -f 參數,密碼寬限期】【useradd/mod -e 參數 用戶失效時間】【保留】

/etc/gshadow:組密碼信息,【用戶組信息】【用戶組密碼】【組管理員列表】【組員信息】

用戶添加:
核心關注配置文件:

  1. /etc/default/useradd 此配置文件用來配置添加用戶的默認配置如SHELLL、HOME等, SHELL可以指向python3解釋器,可以通過python解釋器與內核交互
  2. /etc/skel 此文件是用戶在創建家目錄時,給家目錄默認繼承的文件,內容存儲的是環境變量的腳本,如果我們想每次創建家目錄時給定我們所定義的文件可以放在此目錄
  3. /etc/login.defs 此文件是定義登陸時環境變量,密碼策略PASS_MAX_DAYS,PASS_MIM_DAYS,系統ID等

我們在創建用戶時不知道怎麼創建可以通過 useradd --help命令來查看

用法:useradd [選項] 登錄
      useradd -D
      useradd -D [選項]

選項:
  -b, --base-dir BASE_DIR	    新賬戶的主目錄的基目錄
  -c, --comment COMMENT         新賬戶的 GECOS 字段
  -d, --home-dir HOME_DIR       新賬戶的主目錄
  -D, --defaults		        顯示或更改默認的 useradd 配置
  -e, --expiredate EXPIRE_DATE  新賬戶的過期日期
  -f, --inactive INACTIVE       新賬戶的密碼不活動期
  -g, --gid GROUP		        新賬戶主組的名稱或 ID
  -G, --groups GROUPS	        新賬戶的附加組列表
  -h, --help                    顯示此幫助信息並推出
  -k, --skel SKEL_DIR       	使用此目錄作爲骨架目錄
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默認值
  -l, --no-log-init	            不要將此用戶添加到最近登錄和登錄失敗數據庫
  -m, --create-home	            創建用戶的主目錄
  -M, --no-create-home		    不創建用戶的主目錄
  -N, --no-user-group	        不創建同名的組
  -o, --non-unique		        允許使用重複的 UID 創建用戶
  -p, --password PASSWORD		加密後的新賬戶密碼
  -r, --system                  創建一個系統賬戶
  -R, --root CHROOT_DIR         chroot 到的目錄
  -s, --shell SHELL		        新賬戶的登錄 shell
  -u, --uid UID			        新賬戶的用戶 ID
  -U, --user-group		        創建與用戶同名的組
  -Z, --selinux-user SEUSER		爲 SELinux 用戶映射使用指定 SEUSER
      --extrausers              Use the extra users database

使用不同的useradd命令會得到不同的用戶,大致可以分爲五種:
案例1. useradd 不指定shell時,家目錄爲/,變量PS1爲$,SHELL爲/bin/sh

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
案例2. useradd 指定shell爲python3時,切換用戶直接進入python解釋器
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
案例3. useradd 指定shell爲/bin/bash時,變量PS1ok,但是家目錄依然爲/
在這裏插入圖片描述
在這裏插入圖片描述
案例4. useradd -m 創建用戶時,指定創建價目,但沒有指定shell爲bash,默認爲sh,所以家目錄下有環境變量,但是家目錄下的腳本
是由bash解釋器纔可以解釋執行,sh解釋器無法解釋執行,所以環境變量依然有問題
在這裏插入圖片描述
在這裏插入圖片描述
案例5. useradd -m -s /bin/bash時,家目錄,環境變量都ok
在這裏插入圖片描述
在這裏插入圖片描述

修改bash

若我們只是使用命令useradd 用戶名來創建用戶的話,創建出來的用戶使用的shell均爲/bin/sh,這樣我們創建出來的用戶就會有上述案例1的結果,所以我們要將shell進行修改:
在這裏插入圖片描述
這裏顯示爲:SHELL =/bin/sh在這裏插入圖片描述修改爲:SHELL =/bin/bash並保存退出在這裏插入圖片描述這樣我們創建用戶之後的shell即爲bash了在這裏插入圖片描述cat /etc/gshadow我們可以看到用戶的組密碼信息
在這裏插入圖片描述
cat /etc/shadow:用戶密碼信息
在這裏插入圖片描述
cat /etc/group:組信息
在這裏插入圖片描述
cat /etc/passwd:用戶信息

用戶刪除

用法:userdel [選項] 登錄

選項:
  -f, --force                   即使不屬於此用戶,也強制刪除文件
  -h, --help                    顯示此幫助信息並推出
  -r, --remove                  刪除主目錄和郵件池
  -R, --root CHROOT_DIR         chroot 到的目錄
  -Z, --selinux-user            爲用戶刪除所有的 SELinux 用戶映射

用戶屬性修改

用法:usermod [選項] 登錄

選項:
  -c, --comment 註釋            GECOS 字段的新值
  -d, --home HOME_DIR           用戶的新主目錄
  -e, --expiredate EXPIRE_DATE  設定帳戶過期的日期爲 EXPIRE_DATE
  -f, --inactive INACTIVE       過期 INACTIVE 天數後,設定密碼爲失效狀態
  -g, --gid GROUP               強制使用 GROUP 爲新主組
  -G, --groups GROUPS           新的附加組列表 GROUPS
  -a, --append GROUP            將用戶追加至上邊 -G 中提到的附加組中,
                                並不從其它組中刪除此用戶
  -h, --help                    顯示此幫助信息並推出
  -l, --login LOGIN             新的登錄名稱
  -L, --lock                    鎖定用戶帳號
  -m, --move-home               將家目錄內容移至新位置 (僅於 -d 一起使用)
  -o, --non-unique              允許使用重複的(非唯一的) UID
  -p, --password PASSWORD       將加密過的密碼 (PASSWORD) 設爲新密碼
  -R, --root CHROOT_DIR         chroot 到的目錄
  -s, --shell SHELL             該用戶帳號的新登錄 shell
  -u, --uid UID                 用戶帳號的新 UID
  -U, --unlock                  解鎖用戶帳號
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user  SEUSER    用戶賬戶的新 SELinux 用戶映射

小小的案例:修改用戶的註釋信息
在這裏插入圖片描述

組group管理命令:

groupadd groupdel groupmod——增 刪 改
創建組:

groupadd[OPTION]... group_name
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組
CentOS 6: ID<500
CentOS 7: ID<1000

組刪除:groupdel

groupdel  組名

組屬性修改:groupmod

groupmod[OPTION]... group
-n group_name: 新名字
-g GID: 新的GID

案例(增、改、刪):
在這裏插入圖片描述
更改組密碼:gpasswd

組密碼:gpasswd
	gpasswd[OPTION] GROUP
		-a user: 將user添加至指定組中
		-d user: 從指定組中移除用戶user
		-A user1,user2,...: 設置有管理權限的用戶列表
	newgrp命令:臨時切換主組
		如果用戶本不屬於此組,則需要組密碼

在這裏插入圖片描述
更改和查看組成員:groupmems

groupmems[options] [action]
options:
	-g, --group groupname更改爲指定組(只有root)
Actions:
	-a, --add username 指定用戶加入組
	-d, --delete username 從組中刪除用戶
	-p, --purge 從組中清除所有成員
	-l, --list 顯示組成員列表
groups [OPTION].[USERNAME]... 查看用戶所屬組列表

查看用戶相關的ID信息

Usage: id [OPTION]... [USER]
Print user and group information for the specified USER,
or (when USER omitted) for the current user.

  -a             ignore, for compatibility with other versions
  -Z, --context  print only the security context of the process
  -g, --group    print only the effective group ID
  -G, --groups   print all group IDs
  -n, --name     print a name instead of a number, for -ugG
  -r, --real     print the real ID instead of the effective ID, with -ugG
  -u, --user     print only the effective user ID
  -z, --zero     delimit entries with NUL characters, not whitespace;
                   not permitted in default format
      --help		顯示此幫助信息並退出
      --version		顯示版本信息並退出

在這裏插入圖片描述

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

su[options...] [-] [user [args...]]
切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su - UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root su至其他用戶無須密碼;非root用戶切換時需要密碼
換個身份執行命令:
   su[-] UserName-c 'COMMAND'
選項:-l --login
   su-l UserName相當於su-UserName

案例:
在這裏插入圖片描述

文件權限

文件屬性:
在這裏插入圖片描述

文件屬性操作者
	chown 設置文件的所有者
	chgrp 設置文件的屬組信息
	other 其他用戶

修改文件的屬性和屬組:

修改文件的屬主:chown
	chown[OPTION]... [OWNER][:[GROUP]] FILE...
	用法:
	OWNER
	OWNER:GROUP
	:GROUP
	命令中的冒號可用.替換
	-R: 遞歸
	chown[OPTION]... --reference=RFILE FILE...
修改文件的屬組:chgrp
	chgrp[OPTION]... GROUP FILE...
	chgrp[OPTION]... --reference=RFILE FILE...
	-R 遞歸

兩個小案例:
在這裏插入圖片描述在這裏插入圖片描述
文件權限:

文件的權限主要針對三類對象進行定義:
	owner: 屬主, u
	group: 屬組, g
	other: 其他, o
每個文件針對每類訪問者都定義了三種權限:
	r: Readable
	w: Writable
	x: eXcutable

文件和目錄都包含有權限:

文件:
	r: 可使用文件查看類工具獲取其內容
	w: 可修改其內容
	x: 可以把此文件提請內核啓動爲一個進程
目錄:
	r: 可以使用ls查看此目錄中文件列表
	w: 可在此目錄中創建文件,也可刪除此目錄中的文件
	x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄
	X:只給目錄x權限,不給文件x權限

在這裏插入圖片描述在這裏插入圖片描述

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