性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

1.用戶基本概述
1.什么是用戶?
用戶指的是能夠正常登錄Linux或Windows系統(tǒng)(可以理解為你租了房子,能夠正常入駐)
F:那Linux與Windows系統(tǒng)的用戶有什么區(qū)別? Q:本質都是登陸系統(tǒng),只不過Linux支持多個用戶同時登陸。
F:難道Windows就不算多用戶操作系統(tǒng)嗎? Q:其實不是,在Windows系統(tǒng)中可以創(chuàng)建多個用戶,但不允許同一時刻多個用戶登陸系統(tǒng),但Linux系統(tǒng)則允許同一時刻多個用戶同時登陸,登陸后相互之間操作并不影響。

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

2.Linux下的用戶有什么用
或者說我們?yōu)槭裁匆獎?chuàng)建用戶?
1.系統(tǒng)上的每一個進程(運行的程序),都需要一個特定的用戶運行 2.通常在公司是使用普通用戶管理服務器,因為root權限過大,容易造成故障。
3.查看用戶
如何查看系統(tǒng)中所存在的用戶
1.查看當前登錄的用戶信息

[root@bgx ~]# id #查看當前所登陸的用戶信息2.每一個進程都會由一個用戶身份運行

[root@bgx ~]# ps aux|less #簡單使用一下,不用理解4.用戶存存放位置
Linux系統(tǒng)會將用戶的信息存放在/etc/passwd,記錄了用戶的信息,但沒有密碼信息,密碼被存放在/etc/shadow中。
也就是說這兩個文件非常的重要,不要輕易刪除與修改。
1./etc/passwd 配置文件解釋如下圖,或者man 5 passwd

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

2./etc/shadow 配置文件解釋如下圖,或者man 5 shadow
PS: 使用change修改密碼過期時間示例

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

4.最后我們需要了解下系統(tǒng)對用戶的一個約定?(約定娶你,就真的會娶嗎?)

用戶UID 系統(tǒng)中約定的含義
0 超級管理員,最高權限,有著極強的破壞能力
1~200 系統(tǒng)用戶,用來運行系統(tǒng)自帶的進程,默認已創(chuàng)建
201~999 系統(tǒng)用戶,用來運行用戶安裝的程序,所以此類用戶無需登錄系統(tǒng)
1000+ 普通用戶,正常可以登陸系統(tǒng)的用戶,權限比較小,能執(zhí)行的任務有限
  • 超級管理員用戶 root 0
  • 普通用戶
    • 系統(tǒng)用戶:用來啟動系統(tǒng)的一些服務和進程的用戶,不可以登陸 1-999(centos7)1-499 (centos6)
    • 可登陸用戶:能登錄系統(tǒng)的用戶 1000-65535(centos7)500-65535(centos6)

2.用戶相關命令
下面我們就圍繞著用戶的創(chuàng)建、變更、刪除等來講講涉及到的命令: useradd、usermod、userdel
1.新增用戶
使用useradd命令,注意: adduser命令軟鏈接指向useradd命令
useradd

Usage: useradd [options] LOGIN

  • 相關文件
    • /etc/default/useradd 創(chuàng)建用戶的默認文件
    • /etc/skel/* 默認復制的文件

 

#選項
2.修改用戶信息
使用usermod命令修改用戶信息
用戶修改usermode

-c 修改描述信息
-d 修改家目錄,默認不會創(chuàng)建新目錄,如果想移動家目錄,則需要使用-m
-g 修改用戶組
-G 修改用戶的附加組,默認情況下是替換
-a 追加附加組
-l newname 修改用戶的登錄名稱
-L 鎖定用戶,不能登錄系統(tǒng),修改密碼默認情況下回解鎖
-U 解鎖用戶
-s 修改用戶登錄后的shell
-u 修改用戶的uid
-e 年-月-日 修改用戶的過期時間,過期以后不能登錄

#選項

3.刪除賬戶
使用userdel命令刪除賬戶
刪除用戶 userdel
默認刪除用戶不刪除用戶的家目錄
-r 刪除家目錄
-f 強制刪除
默認情況下,用戶登錄狀態(tài)下是不能刪除用戶,強制刪除用戶以后,用戶還是可以用的

#選項 -r 刪除用戶同時刪除它的家目錄

4.其他

  1. 使用finger命名查詢用戶信息以及登錄信息(yum install finger),示例: finger UserName
  2. 使用chfn命令修改用戶信息(其實是修改注釋),示例: chfn UserName
  3. 使用chsh命令修改用戶登錄Bash Shell,示例: chsh UserName
  4. 使用who(當前有哪些用戶登錄了)、whoami、w檢查用戶登陸情況
Linux用戶管理終極指南:從基礎到進階,一篇就夠!

查看用戶相關信息id
-g 只顯示組id
-G 只顯示附加組id
-u 只顯示用戶id
-n 顯示名稱,需要和guG來配合使用
3.用戶擴展知識
1.創(chuàng)建流程
前面我們學習如何創(chuàng)建、修改、刪除用戶,接下來了解下用戶的?
1.useradd創(chuàng)建用戶時,系統(tǒng)會以/etc/login.defs、/etc/defaults/useradd兩個配置文件作為參照物,
如果在創(chuàng)建用戶時指定了參數(shù)則會覆蓋/etc/login.defs、/etc/defaults/useradd文件默認配置,如未指定則使用默認。

[root@bgx ~]# grep -Ev "^#|^$" /etc/login.defs

2.當使用useradd創(chuàng)建用戶時,創(chuàng)建的用戶家目錄下會存在 .bash_ 環(huán)境變量相關的文件,這些環(huán)境變量文件默認從/etc/skel目錄中拷貝。
這個默認拷貝環(huán)境變量位置是由/etc/defaults/useradd配置文件中定義的。

#故障案例,在當前用戶家目錄執(zhí)行了rm -rf .,下次登錄系統(tǒng)時出現(xiàn)-bash-4.1$,如何解決!
2.設置、修改密碼
創(chuàng)建用戶后,如需要使用該用戶登陸系統(tǒng)則需要為用戶設定密碼,設定密碼使用passwd命令。建議密碼復雜度高一些、長度大于10、出現(xiàn)各種特殊字符、無任何規(guī)律(不要出現(xiàn)名字,電話,生日等)
PS: 注意事項
1.普通用戶只允許變更自己的密碼,無法修改其他人密碼,并且密碼長度必須8位字符
2.管理員用戶允許修改任何人的密碼,無論密碼長度多長或多短。

#1.使用passwd命令修改用戶密碼
PS: 推薦密碼保存套件工具,支持windows、MacOS、Iphone以及瀏覽器插件Lastpass官方網(wǎng)站
/etc/passwd文件

  • 用戶名稱
  • 密碼,使用x來占位
  • uid
  • gid
  • 描述信息
  • 家目錄
  • 登錄后使用的shell

設置密碼passwd

passwd [OPTION...] <accountName>
-d 刪除指定用戶的密碼,刪除密碼之后就不能登錄
-l 鎖定用戶
-u 解鎖用戶
-e 在下次登錄以后強制用戶修改密碼
-f 強制操作
-x maxday 密碼的最長使用時間
-n minday 密碼的最短使用時間
-w warnday 密碼過期前多長時間提醒
-i inactiveday 密碼過期多長時間以后禁用
--stdin 從標準輸入讀取密碼 echo '123'|passwd --stdin peiqi

存放文件/etc/shadow

  • 用戶名
  • 密碼 $加密方式(默認sha512)$鹽$加密后的字符串$
  • 從1970年1月1日到最近一次修改密碼經(jīng)過的時間
  • 密碼的最短使用時間(0表示隨時可以修改)
  • 密碼的最長使用時間(99999表示永不過期)
  • 密碼過期多長時間提醒(默認是一周)
  • 密碼過期多長時間鎖定
  • 從1970年1月1日開始算起,多長時間后賬號失效

qiao:$6$HBl7BPCJk6JaLtw2$B4NzlqpCrMczVkK51Rjimw7Wp.oRfsCzrKEzmhiBEAfk9T7h.YleYZ3h3qV6Fv.bZnJh666tr36TBJHhCi6M90::0:99999:7:::密碼的復雜性策略

  • 必須包括數(shù)字、大小寫、特殊字符
  • 密碼必須12位以上
  • 不能為弱口令
  • 必須為隨機密碼
  • 3個月或者半年修改一次

機器免密登錄
非對稱加密,公鑰登錄(在已登錄上機器機器上生成公鑰,copy公鑰給要登錄的機器):
ssh-keygen 一路回車
ssh-copy-id 要登錄的機器
修改用戶密碼策略 chage

-E
-I
-m
-M
-W
change login 可以使用交互式的修改密碼策略

chfn 修改用戶的個人描述信息
4.用戶如何提權
往往公司的服務器對外都是禁止root用戶直接登錄,所以我們通常使用的都是普通用戶,那么問題來了?
當我們使用普通用戶執(zhí)行/sbin目錄下的命令時,會發(fā)現(xiàn)沒有權限運行,這種情況下我們無法正常的管理服務器,那如何才能不使用root用戶直接登錄系統(tǒng),同時又保證普通用戶能完成日常工作?
PS: 我們可以使用如下兩種方式: su、sudo
1.su切換用戶,使用普通用戶登錄,然后使用su命令切換到root。優(yōu)點:簡單 缺點:需要知道root密碼
2.sudo提權,當需要使用root權限時進行提權,而無需切換至root用戶,優(yōu)點:安全、方便 缺點:復雜
1.su身份切換
在使用su切換前,我們需要了解一些預備知識,比如shell分類、環(huán)境變量配置文件有哪些
1.Linux Shell主要分為如下幾類 交互式shell,等待用戶輸入執(zhí)行的命令(終端操作,需要不斷提示) 非交互式shell,執(zhí)行shell腳本,
腳本執(zhí)行結束后shell自動退出 登陸shell,需要輸入用戶名和密碼才能進入Shell,日常接觸的最多的一種 非登陸shell,不需要輸入用戶和密碼就能進入Shell,比如運行bash會開啟一個新的會話窗口
2.bash shell配置文件介紹(文件主要保存用戶的工作環(huán)境) 個人配置文件:~/.bash_profile ~/.bashrc 。
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc profile類文件, 設定環(huán)境變量, 登陸前運行的腳本和命令。
bashrc 類文件, 設定本地變量, 定義命令別名 PS: 如果全局配置和個人配置產生沖突,以個人配置為準。
3.登陸系統(tǒng)后,環(huán)境變量配置文件的應用順序是? 登錄式shell配置文件執(zhí)行順序: /etc/profile->/etc/profile.d/.sh->/.bash_profile->/.bashrc->/etc/bashrc
非登陸式shell配置文件執(zhí)行順序: ~/.bashrc->/etc/bashrc->/etc/profile.d/.sh PS: 驗證使用echo在每行添加一個輸出即可
4.說了這么多預備知識,那這些和su命令切換用戶有什么關系? su - username屬于登陸式shell,su username屬于非登陸式shell,區(qū)別在于加載的環(huán)境變量不一樣。 su username 屬于非登陸式shell
普通用戶su -可以直接切換至root用戶,但需要輸入root用戶的密碼。 超級管理員root用戶使用su - username切換普通用戶不需要輸入任何密碼。

#1.普通用戶使用su切換root

切換用戶
su [options] [-] [USER [arg]...]
切換用戶的方式

  • 完整切換:su - username 登錄式切換,環(huán)境變量等都會切換
  • 不完整切換:su username 不會切換用戶的環(huán)境變量家目錄等
  • root切換普通用戶不需要密碼,非root用戶切換需要密碼

切換用戶執(zhí)行命令,并在切換會來
[root@localhost ~]#su - peiqi -c "whoami"
peiqi
2.sudo提權
su命令在切換用戶身份時,如果每個普通用戶都能拿到root用戶的密碼,當其中某個用戶不小心泄漏了root的密碼,那系統(tǒng)會變得非常不安全。為了改進這個問題,從而產生了sudo這個命令。
其實sudo就相當于給某個普通用戶埋下了浩克(hulk)的種子,當需要執(zhí)行一些高級操作時,進行發(fā)怒,但正常情況下還是普通人,還是會受到限制。
1.如何快速埋下hulk的種子呢?

#1.快速配置sudo方式[先睹為快]

2.埋下了hulk種子后又如何提權使用呢?

#1.切換普通用戶
3.開啟某個命令的使用權限
提升的權限太大,能否有辦法限制僅開啟某個命令的使用權限?其他命令不允許?
第一種方式:使用sudo中自帶的別名操作,將多個用戶定義成一個組,這個組只有sudo認可

[root@bgx ~]# visudo #也可以使用vi /etc/sudoers來配置

第二種方式:使用groupadd添加組,然后給組分配sudo的權限,如果有新用戶加入,直接將用戶添加到該組.

#1.添加兩個真實的系統(tǒng)組, group_dev group_op
4.sudo命令的執(zhí)行流程

  1. 普通用戶執(zhí)行sudo命令時, 會檢查/var/db/sudo是否存在時間戳緩存
  2. 如果存在則不需要輸入密碼, 否則需要輸入用戶與密碼
  3. 輸入密碼會檢測是否該用戶是否擁有該權限
  4. 如果有則執(zhí)行,否則報錯退出

執(zhí)行本身不能執(zhí)行的命令
sudo 配置文件為/etc/sudoers
peiqi ALL=(ALL) NOPASSWD:ALL
其中的NOPASSWD 是不需要輸入密碼
5.用戶組的管理
1.什么是用戶組
其實就是一種邏輯層面的定義,邏輯上將多個用戶歸納至一個組,當我們對組操作,其實就相當于對組中的所有用戶操作。
2.組有類別
對于用戶來說,組有幾種類別?
基本組,用戶只能有一個基本組,創(chuàng)建時可通過-g指定,如未指定則創(chuàng)建一個默認的組(與用戶同名),簡稱私有組
附加組,基本組不能滿足授權要求,創(chuàng)建附加組,將用戶加入該組,用戶可以屬于多個附加組

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

3.組的信息位置
組賬戶信息保存在/etc/group和/etc/gshadow兩個文件中。重點關注group
1./etc/group 配置文件解釋如下圖
head -1 /etc/group

Linux用戶管理終極指南:從基礎到進階,一篇就夠!

2./etc/gshadow 配置文件解釋如下圖

Linux用戶管理終極指南:從基礎到進階,一篇就夠!
  • 超級用戶組 root 0
  • 普通用戶組
    • 系統(tǒng)用戶組 1-999(centos7) 1-499(centos6)
    • 可登陸用戶組 1000-65535(centos7)500-65535 (centos6)

groupadd
-g 指定組id
-r 創(chuàng)建系統(tǒng)用戶組
組的文件
/etc/group

  • 組名
  • 密碼占位
  • gid
  • 組成員

/etc/gshadow

  • 組名
  • 密碼
  • 組管理員的密碼
  • 組成員

1 groupadd新增組
使用groupadd命令新增組,groupadd [-g GID] groupname

#創(chuàng)建基本組, 不指定gid
2 groupmod修改組
使用groupmod命令修改組

#-g 修改組gid
3.groupdel刪除組,
刪除時需要注意,如果用戶存在基本組則無法直接刪除該組,如果刪除用戶則會移除默認的私有組,而不會移除基本組。

# 私有組的情況,直接刪除用戶,組也就沒了

4 gpasswd設置組密碼
使用gpasswd設置組密碼[擴展,可以不會
[root@bgx ~]# groupadd devops
[root@bgx ~]# gpasswd devops
Changing the password for group devops
New Password:
Re-enter new password:
5 newgrp切換基本組身份
使用newgrp命令切換基本組身份[擴展,可以不會

#1.檢查賬戶信息修改組信息
groupmod
-g 修改gid
-n 修改組名
刪除組
groupdel 刪除組
鏈接:cnblogs.com/coderxuesha
(版權歸原作者所有,侵刪)

相關新聞

歷經(jīng)多年發(fā)展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡安全、云原生、Go、Python開發(fā)專業(yè)人才培訓機構!