Day13-Linux系統用戶管理知識精講2

Day13-Linux系統用戶管理知識精講2

  • 1. passwd 給用戶設置密碼
  • 2. chpasswd 批量設置密碼
  • 3. chage 查看和更改密碼屬性 更改用戶密碼過期信息
  • 4. 用戶組相關的命令了解

1. passwd 給用戶設置密碼

用戶自己給自己設置密碼直接passwd

root用戶給普通用戶設置密碼passwd 用戶名。

–stdin 從標準輸入獲取信息

[root@oldboy ~]# echo 123456|passwd --stdin oldboy
更改用戶 oldboy 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。

2. chpasswd 批量設置密碼

bash腳本

for n in {01..10}
douseradd oldboy$n
done

把用戶和密碼用冒號分割,然后放入文件里。

[root@oldboy ~]# vim user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05

批量設置密碼命令:

chpasswd <user.list #不好用。

cat user.list|chpasswd #好用

su - oldboy02,然后在切入到其他用戶測試。

擴展技術:后期細講,此處可忽略

批量【生成】用戶名和密碼文件列表;

[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#oldboy\1:\1#gp' >user.list
[root@oldboy ~]# cat user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05
oldboy06:06
oldboy07:07
oldboy08:08
oldboy09:09
oldboy10:10

批量【設置】用戶和密碼列表;

[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'
useradd oldboy01;echo 01|passwd --stdin oldboy01
useradd oldboy02;echo 02|passwd --stdin oldboy02
useradd oldboy03;echo 03|passwd --stdin oldboy03
useradd oldboy04;echo 04|passwd --stdin oldboy04
useradd oldboy05;echo 05|passwd --stdin oldboy05
useradd oldboy06;echo 06|passwd --stdin oldboy06
useradd oldboy07;echo 07|passwd --stdin oldboy07
useradd oldboy08;echo 08|passwd --stdin oldboy08
useradd oldboy09;echo 09|passwd --stdin oldboy09
useradd oldboy10;echo 10|passwd --stdin oldboy10
[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'|bash

通過nodepad++批量生成用戶名,

按住ALT,然后將光標第1行拉倒第10行,然后輸入oldboy,

然后按住alt+c,設置生成數字序列

oldboy1
oldboy2
oldboy3
oldboy4
oldboy5
oldboy6
oldboy7
oldboy8
oldboy9

3. chage 查看和更改密碼屬性 更改用戶密碼過期信息

-l 查看用戶和更改密碼屬性

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

-e “” 設定賬戶過期時間。

useradd -e “2040/5/20” oldboy11

[root@oldboy ~]# useradd -e "2040/5/20" oldboy11
useradd:警告:此主目錄已經存在。
不從 skel 目錄里向其中復制任何文件。
正在創建信箱文件: 文件已存在
[root@oldboy ~]# chage -l oldboy11
最近一次密碼修改時間					:6月 30, 2030
密碼過期時間					   :從不
密碼失效時間					   :從不
帳戶過期時間						:5月 20, 2040  =========================賬戶過期時間
兩次改變密碼之間相距的最小天數		:0
兩次改變密碼之間相距的最大天數		:99999
在密碼過期之前警告的天數	:7

chage -E “2041/6/30” oldboy11

[root@oldboy ~]# chage -E "2041/6/30" oldboy11
[root@oldboy ~]# chage -l oldboy11
最近一次密碼修改時間					:6月 30, 2030
密碼過期時間					:從不
密碼失效時間					:從不
帳戶過期時間						:6月 30, 2041
兩次改變密碼之間相距的最小天數		:0
兩次改變密碼之間相距的最大天數		:99999
在密碼過期之前警告的天數	:7

useradd -e和chage -E是一樣的。

范例:要求oldgirl用戶7天內不能更改密碼,60天以后必須修改密碼,過期前10天通知用戶,過期后30天后禁止用戶登錄。
修改的文件/etc/shadow
查看 chage -l 用戶名
設置方法:2個:

passwd -n 7 -x 60 -w 10 -i 30 oldboy  #<==參數含義詳見前文表格。
chage  -m8  -M61  -W11  -I31 oldboy #<==使用chage按題意要求授權。
[root@oldboy ~]# chage -l oldboy
最近一次密碼修改時間					:6月 30, 2030
密碼過期時間					:從不
密碼失效時間					:從不
帳戶過期時間						:從不
兩次改變密碼之間相距的最小天數		:0
兩次改變密碼之間相距的最大天數		:99999
在密碼過期之前警告的天數	:7

練習修改密碼屬性(了解)

[root@oldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:0:99999:7:::
[root@oldboy ~]# passwd -n 7 -x 60 -w 10 -i 30 oldboy
調整用戶密碼老化數據oldboy。
passwd: 操作成功
[root@oldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:7:60:10:30::
[root@oldboy ~]# chage -l oldboy
最近一次密碼修改時間					:6月 30, 2030
密碼過期時間					:8月 29, 2030
密碼失效時間					:9月 28, 2030
帳戶過期時間						:從不
兩次改變密碼之間相距的最小天數		:7
兩次改變密碼之間相距的最大天數		:60
在密碼過期之前警告的天數	:10
[root@oldboy ~]# 

4. 用戶組相關的命令了解

groupadd 添加用戶組

groupdel 刪除用戶組

練習:

[root@oldboy ~]# groupadd sa
[root@oldboy ~]# tail -n 1 /etc/group /etc/gshadow
==> /etc/group <==
sa:x:5018:==> /etc/gshadow <==
sa:!::
[root@oldboy ~]# groupdel sa
[root@oldboy ~]# grep -w sa /etc/group /etc/gshadow

切換用戶以及提權管理命令:

su

sudo

su 切換用戶角色,從A用戶切換到B用戶。

su - oldboy # -表示攜帶用的環境變量切換

顯示:root環境變量

[root@oldboy ~]# env|grep root
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root

練習查看加不加-的區別:

[root@oldboy ~]# su oldboy
[oldboy@oldboy root]$ env|grep oldboy
HOSTNAME=oldboy
USER=oldboy
HOME=/home/oldboy
LOGNAME=oldboy
[oldboy@oldboy root]$ pwd #還是root家目錄,這就是沒有加-的問題。
/root
[oldboy@oldboy root]$ env|grep root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root
[oldboy@oldboy root]$ exit
[root@oldboy ~]# su - oldboy
上一次登錄:一 71 00:11:41 CST 2030pts/1 上
[oldboy@oldboy ~]$ env|grep root
[oldboy@oldboy ~]$ env|grep oldboy
HOSTNAME=oldboy
USER=oldboy
MAIL=/var/spool/mail/oldboy
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oldboy/.local/bin:/home/oldboy/bin
PWD=/home/oldboy
HOME=/home/oldboy
LOGNAME=oldboy

第二個參數:

-c 以oldboy用戶身份執行命令,然后退回當下用戶

[root@oldboy ~]# su - oldboy -c pwd
/home/oldboy

用普通用戶登錄管理,su - root切換到root管理,擁有了所有權限。

普通用戶必須要知道root密碼,登錄到root,他就可以改了密碼,讓你登錄不上。

適合運維部門人少的時候。

弊端:

1)切換到root

2)擁有所有權限

更規范的管理方法:

不切換到root,在操作命令同時,擁有root權限,一旦操作完成,權限就消失。而且不需要root密碼

sudo

sudo配置文件是/etc/sudoers

通過visudo管理sudo配置文件/etc/sudoers

[root@oldboy ~]# ls /etc/sudoers -l
-r--r-----. 1 root root 4328 1128 2019 /etc/sudoers

root ALL =(ALL) ALL

用戶 主機 切換的角色 執行命令

設置oldboy用戶在所有主機上,可以切換到所有角色,執行所有命令。

oldboy ALL =(ALL) ALL

oldboy就相當于root,不是root。

測試1:

[oldboy@oldboy ~]$ useradd bingbing
useradd: Permission denied.
useradd:無法鎖定 /etc/passwd,請稍后再試。
[oldboy@oldboy ~]$ sudo useradd bingbing我們信任您已經從系統管理員那里了解了日常注意事項。
總結起來無外乎這三點:#1) 尊重別人的隱私。
#2) 輸入前要先考慮(后果和風險)。
#3) 權力越大,責任越大。[sudo] oldboy 的密碼:
[oldboy@oldboy ~]$ tail -1 /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboy@oldboy ~]$ sudo su - root
上一次登錄:日 630 22:28:53 CST 203010.0.0.1pts/1 上
[root@oldboy ~]# whoami
root

生產管理方法;給用戶設置具體的命令。

oldboy  ALL =(ALL)            /usr/sbin/useradd,/usr/sbin/userdel     ##執行命令 越小越具體越好。

#設置粒度,最小是一個命令,允許他執行這個命令時擁有root權限。

[oldboy@oldboy ~]$ rm -fr /root
rm: 無法刪除"/root": 權限不夠
[oldboy@oldboy ~]$ sudo rm -fr /root
對不起,用戶 oldboy 無權以 root 的身份在 oldboy 上執行 /bin/rm -fr /root。
[oldboy@oldboy ~]$ rm -fr /root
rm: 無法刪除"/root": 權限不夠
[oldboy@oldboy ~]$ sudo userdel bingbing
[oldboy@oldboy ~]$ grep bing /etc/passwd
[oldboy@oldboy ~]$ sudo useradd bingbing
useradd:警告:此主目錄已經存在。
不從 skel 目錄里向其中復制任何文件。
正在創建信箱文件: 文件已存在
[oldboy@oldboy ~]$ grep bing /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboy@oldboy ~]$ ls /root
ls: 無法打開目錄/root: 權限不夠
[oldboy@oldboy ~]$ sudo ls /root
對不起,用戶 oldboy 無權以 root 的身份在 oldboy 上執行 /bin/ls /root。
[oldboy@oldboy ~]$ 

sudo優點
1)不是root用戶,還是自己。

2)指定命令擁有root權限,可以完成管理員分配的任務。

3)不需要root密碼。

查看用戶信息命令

	idwhoamiwhow

查看用戶日志

last
lastlog
/var/log/secure 遠程登錄安全日志

更改文件屬性:

更改用戶所屬用戶和組:chown #change owner

更改用戶組:chgrp #change group

chown 用戶.用戶組 文件 #.可以用;替代 更改用戶和組

chown 用戶 文件 #更改用戶

chown .用戶組 文件 #更改用戶組,等價:chagrp 用戶組 文件

前提:用戶和組必須要存在。

練習:

[root@oldboy ~]# touch test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 71 01:51 test.txt
[root@oldboy ~]# chown oldboy.oldboy test.txt #更改用戶和組為oldboy
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 oldboy oldboy 184 71 01:51 test.txt
[root@oldboy ~]# chown root test.txt #更改用戶為root
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 71 01:51 test.txt
[root@oldboy ~]# chown .root test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 71 01:51 test.txt
[root@oldboy ~]# chgrp oldboy test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 71 01:51 test.txt

-R參數 遞歸更改

練習:

[root@oldboy ~]# mkdir abc
[root@oldboy ~]# touch abc/{1..3}
[root@oldboy ~]# ls -ld ab
abc/    ab.txt  
[root@oldboy ~]# ls -ld abc
drwxr-xr-x. 2 root root 33 71 01:54 abc
[root@oldboy ~]# ls -l abc
總用量 0
-rw-r--r--. 1 root root 0 71 01:54 1
-rw-r--r--. 1 root root 0 71 01:54 2
-rw-r--r--. 1 root root 0 71 01:54 3
[root@oldboy ~]# chown -R oldboy abc/
[root@oldboy ~]# ls -l abc
總用量 0
-rw-r--r--. 1 oldboy root 0 71 01:54 1
-rw-r--r--. 1 oldboy root 0 71 01:54 2
-rw-r--r--. 1 oldboy root 0 71 01:54 3

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697134.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697134.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697134.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ChatGPT調教指南 | 咒語指南 | Prompts提示詞教程(一)

在我們開始探索人工智能的世界時&#xff0c;了解如何與之有效沉浸交流是至關重要的。想象一下&#xff0c;你手中有一把鑰匙&#xff0c;可以解鎖與OpenAI的GPT模型溝通的無限可能。這把鑰匙就是——正確的提示詞&#xff08;prompts&#xff09;。無論你是AI領域的新手&#…

JS 筆記 --持續更新

this 指向調用 this 是執行上下文中的一個屬性&#xff0c;它指向最后一次調用這個方法的對象。 Function.apply(obj,args)方法能接收兩個參數 obj&#xff1a;這個對象將代替Function類里this對象 args&#xff1a;這個是數組&#xff0c;它將作為參數傳給Function&#xff08…

SpringCloud全家桶---常用微服務組件(1)

注冊中心: *作用: 服務管理 Eureka(不推薦)[讀音: 優瑞卡] Nacos(推薦) Zookeeper [讀音: 如k波] Consul [讀音:康壽] **注冊中心的核心功能原理(nacos)** 服務注冊: 當服務啟動時,會通過rest接口請求的方式向Nacos注冊自己的服務 服務心跳: NacosClient 會維護一個定時心跳持…

Sora背后的論文(1):使用 lstms 對視頻展現進行無監督學習

之前那篇《Sora背后的32篇論文》發出后&#xff0c;大家都覺得不錯&#xff0c;有很多小伙伴都開始啃論文了。 那么我就趁熱打鐵&#xff0c;把這32篇論文的通俗解讀版貼一下。 從去年開始&#xff0c;我基本上形成了一個思維方式&#xff0c;任何事情做之前先看看 有沒有好的…

個人博客系列-環境配置-gitee(2)

注冊gitee賬戶 地址&#xff1a;https://gitee.com/ 此步驟省略 新建倉庫 執行以下命令 即可 拉取代碼 創建目錄 mkdir myCode && cd myCode 登錄gitee找到項目&#xff0c;點擊克隆&#xff0c;拉取代碼 連接遠程倉庫命令 git remote add origin 倉庫地址http…

MariaDB落幕和思考

聽過MySQL的基本也都知道 MariaDB。MariaDB由MySQL的創始人主導開發&#xff0c;他早前曾以10億美元的價格&#xff0c;將自己創建的公司MySQL AB賣給了SUN&#xff0c;此后&#xff0c;隨著SUN被甲骨文收購&#xff0c;MySQL的所有權也落入Oracle的手中。傳聞MySQL的創始人擔心…

創建型設計模式 - 原型設計模式 - JAVA

原型設計模式 一 .簡介二. 案例三. 補充知識 前言 這是我在這個網站整理的筆記,有錯誤的地方請指出&#xff0c;關注我&#xff0c;接下來還會持續更新。 作者&#xff1a;神的孩子都在歌唱 一 .簡介 原型模式提供了一種機制&#xff0c;可以將原始對象復制到新對象&#xff0…

[TCP] TCP/IP 基礎知識詞典(2)

我想統計一下&#xff0c;TCP/IP 尤其是TCP協議&#xff0c;能搜到的常見的問題&#xff0c;整理起來&#xff0c;關鍵詞添加在目錄中&#xff0c;便于以后查閱。 目前預計整理共3篇&#xff1a; [TCP] TCP/IP 基礎知識問答 &#xff1a;基礎知識 [TCP] TCP/IP 基礎知識問答&…

游戲平臺如何定制開發?

隨著科技的飛速發展和互聯網的普及&#xff0c;游戲平臺已成為人們休閑娛樂的重要選擇。為了滿足用戶多樣化的需求&#xff0c;游戲平臺的定制開發顯得尤為重要。本文將探討游戲平臺定制開發的過程、關鍵要素以及注意事項&#xff0c;為有志于涉足此領域的開發者提供參考。 一、…

python opencv繪制圖像輪廓

目錄 一:查找繪制輪廓 二:計算圖像的矩特征 三:計算Hu矩

ApexRBp在線粒子傳感器在電動汽車電池制造的應用

電動汽車電池的崛起與顆粒污染的挑戰 隨著電動汽車&#xff08;EV&#xff09;市場的迅速擴張&#xff0c;對高性能鋰離子電池的需求也急劇增加。這些電池不僅是EV的心臟&#xff0c;更是推動其前行的核心動力。然而&#xff0c;在電池制造的每一個環節&#xff0c;都需要對多…

【Python筆記-設計模式】適配器模式

一、說明 適配器模式是一種結構型模式&#xff0c;它使接口不兼容的對象能夠相互合作 (一) 解決問題 主要解決接口不兼容問題 (二) 使用場景 當系統需要使用現有的類&#xff0c;但類的接口不符合需求時當需要一個統一的輸出接口&#xff0c;但輸入類型不可預知時當需要創…

查詢數據庫的編碼集Oracle,MySQL

1、查詢數據庫的編碼集Oracle,MySQL 1.1、oracle select * from v$nls_parameters where parameterNLS_CHARACTERSET; 查詢版本&#xff1a;SELECT * FROM v$version 2、MySQL編碼集 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SC…

【了解機器學習的定義與發展歷程】

曾夢想執劍走天涯&#xff0c;我是程序猿【AK】 目錄 簡述概要知識圖譜 簡述概要 了解機器學習的定義與發展歷程 知識圖譜 機器學習&#xff08;Machine Learning&#xff0c;ML&#xff09;是一門跨學科的學科&#xff0c;它使用計算機模擬或實現人類學習行為&#xff0c;通…

路由器的端口映射如何設置?

路由器的端口映射設置是網絡連接中常用的配置功能&#xff0c;通過將外部網絡訪問請求映射到內部設備&#xff0c;實現局域網內設備的遠程訪問。本文將介紹如何進行路由器的端口映射設置&#xff0c;并以【天聯】組網產品為例進行說明。 【天聯】組網產品介紹 【天聯】組網是一…

css3d制作正方體

使用css3d技術 &#xff0c;制作一個可以動態動畫的正方體模型 效果圖&#xff1a; 代碼如下&#xff1a; <!DOCTYPE html> <html> <head><style>/* 設置高度寬度100%并且左右居中、上下居中 */html,body {width: 100%;height: 100%;display: flex…

RENISHAW雷尼紹雙讀數頭系統應用分享

在精密回轉運動控制中&#xff0c;大多數場合都會對系統的回轉定位精度有嚴格的要求&#xff0c;RENISHAW雷尼紹圓光柵系統&#xff08;RESM增量和RESA絕對值&#xff09;對于回轉角度的反饋測量方案能有效的解決運動控制對回轉精度的需求。但是配置單個讀數頭的圓光柵系統的精…

C#最優隊列最小堆小頂堆大頂堆小根堆大根堆PriorityQueue的使用

最優隊列有多種叫法&#xff0c;什么小根堆&#xff0c;大根堆&#xff0c;小頂堆&#xff0c;大頂堆。 隊列分多種&#xff0c;線性隊列&#xff08;簡單隊列&#xff09;&#xff0c;循環隊列&#xff0c;最優隊列等等。 最優隊列&#xff0c;可以看作堆疊箱子&#xff0c;…

3分鐘看懂設計模式01:策略模式

一、什么是策略模式 定義一些列算法類&#xff0c;將每一個算法封裝起來&#xff0c;并讓它們可以互相替換。 策略模式讓算法獨立于使用它的客戶而變化&#xff0c;是一種對象行為型模式。 以上是策略模式的一般定義&#xff0c;屬于是課本內容。 在沒有真正理解策略模式之…

簡單幾步通過DD工具把云服務器系統Linux改為windows

簡單幾部通過DD安裝其他系統&#xff0c;當服務器的web控制臺沒有我們要裝的系統&#xff0c;就需要通過DD&#xff08;Linux磁盤&#xff09;工具來更改系統&#xff0c;&#xff08;已知支持KVM系統&#xff09; 本文如何簡單的更換系統&#xff0c;不通過web控制臺來更換&a…