日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux学习笔记-第六课-/etc/passwd,/etc/shadow,useradd,su,sudo等

發布時間:2024/1/17 linux 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux学习笔记-第六课-/etc/passwd,/etc/shadow,useradd,su,sudo等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、查看用戶

??? /etc/passwd

[root@mylinux?~]#?cat?/etc/passwd|head?-5 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@mylinux?~]#

????文件的每一行代表一個用戶,

????每一行由冒號“:”分成7個字段,

????結構都是一樣的,結構如下:


????用戶名:密碼:UID:GID:用戶標簽:home目錄:shell


????①用戶名:大小寫字母、數字、減號(不能出現在首位)、點以及下劃線,其他字符不合法。

????②密碼:以“x”字母占位,實際上密碼是儲存在“/etc/shadow”里。

[root@mylinux?~]#?head?-5?/etc/shadow? root:$6$Zj4RYp1LFptznzDm$jZbdsgce0pNZE6pEv9l8ncOXMOhr90cfzUbXIkL2oOKjHVeeUP/uyDG6UnNiNKvqMIzd6Dsan5pwuDNXNG.qe0:16496:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7::: adm:*:15980:0:99999:7::: lp:*:15980:0:99999:7::: [root@mylinux?~]#

???? ③UID:User ID?用戶識別碼,特殊值“0”是保存給“root”,1~499是屬于系統用戶的;500~4294967294(2^32-2)是分配給普通用戶的。

?????④GID:Group ID?用戶組識別碼,來自“/etc/group”。

[root@mylinux?~]#?head?-5?/etc/group? root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm adm:x:4:adm,daemon [root@mylinux?~]#

????⑤用戶標簽:該字段沒有實際意義,通常記錄該用戶的一些屬性,例如姓名、電話、地址等等,用 chfn 更改?

[root@mylinux?~]#?grep?"mylinux"?/etc/passwd mylinux:x:1000:1000::/home/mylinux:/bin/bash?????????????#?用戶mylinux第五段為空; [root@mylinux?~]#?chfn?-f?mylinux?-p?13800138000?mylinux?#?用chfn增加描述-f?full-name; Changing?finger?information?for?mylinux.???????????????????-p?office-phone; Finger?information?changed. [root@mylinux?~]#?!grep??????????????????????????????????#?第五段已經增加剛才的信息 grep?"mylinux"?/etc/passwd mylinux:x:1000:1000:mylinux,,13800138000:/home/mylinux:/bin/bash [root@mylinux?~]#

????⑥home目錄:用戶家目錄位置

????⑦shell:標識用戶shell類型:/bin/bash ;/sbin/nologin;/sbin/shutdown等




二、用戶密碼

??? /etc/shadow ?

[root@mylinux?~]#?head?-5?/etc/shadow root:$6$Zj4RYp1LFptznzDm$jZbdsgce0pNZE6pEv9l8ncOXMOhr90cfzUbXIkL2oOKjHVeeUP/uyDG6UnNiNKvqMIzd6Dsan5pwuDNXNG.qe0:16496:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7::: adm:*:15980:0:99999:7::: lp:*:15980:0:99999:7::: [root@mylinux?~]#

??? 文件的每一行代表一個用戶,

????每一行由冒號“:”分成9個字段,


?? 用戶名:

?? 密碼:經過SHA加密,不可逆

?? 修改密碼時間:距第一次更改密碼的時間已經多少天了

?? 修改密碼期限:要過多少天才可以進行修改密碼,默認值“0”,無限制

?? 密碼到期時間:密碼多少天后到期,默認值“99999”

?? 密碼期限:密碼到期提醒,默認值“7”即密碼到期的前7天開始提醒

?? 鎖定期限:密碼到期后,賬號多少天后鎖定,默認值空

?? 生命周期:賬號生命周期,默認值空

?? 保留位




三、用戶和組

???①用戶的創建/刪除

???用戶創建

???格式:useradd [選項] [用戶名]

[root@mylinux?~]#?useradd?linux [root@mylinux?~]#?tail?-1?/etc/passwd linux:x:1002:1003::/home/linux:/bin/bash [root@mylinux?~]#

?? 選項:-u?指定用戶UID

???????? -U?指定用戶群

???????? -g?指定用戶GID(passwd中要含有這個ID)

???????? -G?指定用戶組群GID

???????? -m?創建用戶家目錄

???????? -M?不創建用戶家目錄

???????? -d?用戶家目錄

???????? -D?打印或者更改useradd默認配置

???????? -s?指定shell類型

??? 用戶刪除

????格式 :userdel [選項] [用戶名]

[root@mylinux?~]#?tail?-5?/etc/passwd nfsnobody:x:65534:65534:Anonymous?NFS?User:/var/lib/nfs:/sbin/nologin anon:x:600:600:anonymous,,13800138000:/home/anon:/bin/bash www:x:1001:1001::/home/www:/bin/bash anonymous:x:501:501::/home/anonymous:/bin/bash linux:x:1002:1003::/home/linux:/bin/bash [root@mylinux?~]#?userdel?linux [root@mylinux?~]#?!tail tail?-5?/etc/passwd rpcuser:x:29:29:RPC?Service?User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous?NFS?User:/var/lib/nfs:/sbin/nologin anon:x:600:600:anonymous,,13800138000:/home/anon:/bin/bash www:x:1001:1001::/home/www:/bin/bash anonymous:x:501:501::/home/anonymous:/bin/bash [root@mylinux?~]#

????選項 : -f?強制刪除

?????????? -r 刪除用戶家目錄及郵件緩沖




????②組的創建及刪除

????組的創建

????格式 :?groupadd [選項] [組名]

[root@mylinux?~]#?groupadd?linux [root@mylinux?~]#?tail?-5?/etc/group anon:x:600: www:x:1001: anonymous:x:1002: test:x:501: linux:x:1003: [root@mylinux?~]#

???? 選項 :-g?為創建的組指定GID

??????????? -P?為創建的組加密

??????????? -r?創建一個系統賬戶

?????組的刪除

?????格式 :groupdel [選項] [組名]

[root@mylinux?~]#?groupdel?linux [root@mylinux?~]#?tail?-5?/etc/group nfsnobody:x:65534: anon:x:600: www:x:1001: anonymous:x:1002: test:x:501: [root@mylinux?~]#




? ? ?③usermod 對用戶信息進行修改

? ? ?格式 :usermod [選項] [用戶名]

[root@mylinux?~]#?tail?-5?/etc/passwd nfsnobody:x:65534:65534:Anonymous?NFS?User:/var/lib/nfs:/sbin/nologin anon:x:600:600:anonymous,,13800138000:/home/anon:/bin/bash www:x:1001:1001::/home/www:/bin/bash anonymous:x:501:501::/home/anonymous:/bin/bash linux:x:1002:1003::/home/linux:/bin/bash [root@mylinux?~]#?usermod?-g?501?linux??????????#?更改用戶GID信息 [root@mylinux?~]#?!tail tail?-5?/etc/passwd nfsnobody:x:65534:65534:Anonymous?NFS?User:/var/lib/nfs:/sbin/nologin anon:x:600:600:anonymous,,13800138000:/home/anon:/bin/bash www:x:1001:1001::/home/www:/bin/bash anonymous:x:501:501::/home/anonymous:/bin/bash linux:x:1002:501::/home/linux:/bin/bash [root@mylinux?~]#

????

?????選項 :-l?變更使用者登陸的名字

??????????? -a?對-G選項進行追加

??????????? -c?更新用戶passwd中注釋欄信息

??????????? -d?指定新的用戶家目錄

??????????? -g?指定新的GID

??????????? -G?指定新的組群GID

??????????? -u?指定新的用戶UID

??????????? -m?移動家目錄到新的位置

??????????? -P?使用新的加密密碼

??????????? -s?使用新的shell類型

??????????? -L?鎖定用戶賬戶

??????????? -U?解鎖用戶賬戶

???????????


???

四、創建/修改用戶密碼

????創建用戶密碼

????對于新建的用戶,沒有設置密碼,密碼是需要創建的,命令如下:

[root@mylinux?~]#?passwd?linux?????????????????#?格式passwd?[用戶名] 更改用戶?linux?的密碼?。 新的?密碼: 重新輸入新的?密碼: passwd:?所有的身份驗證令牌已經成功更新。 [root@mylinux?~]#

??? 選項: -d?刪除已命名賬戶密碼

????????? -k?密碼不過期

????????? --stdin?從標準輸入獲取密碼

[root@mylinux?~]#?passwd?linux?--stdin 更改用戶?linux?的密碼?。 123456789 passwd:?所有的身份驗證令牌已經成功更新。 [root@mylinux?~]#

??



? ? mkpaswd 密碼生成命令

????沒有此命令的需要執行?yum install -y expect

????選項 : -l?密碼的長度,默認值為“9”

??????????? -d?密碼中含有幾個數字,默認值為“2”

??????????? -c?密碼中含有幾個小寫字母,默認值為“2”

??????????? -C 密碼中含有幾個大寫字母,默認值為“2”

??????????? -s?密碼中含有幾個特殊字符,默認值為“1”

??????????? -p?對程序進行加密

[root@mylinux?~]#?mkpasswd?-l?12?-c?3?-C?3?-d?3?-s?3 xVY[1.2zOl}8?????????????????????????#?長度為12,含有小字母3個大字母3個數字3個特殊字符3個 [root@mylinux?~]#?mkpasswd?-l?12?-c?3?-C?3?-d?3?-s?3 E\605nH&-Riu [root@mylinux?~]#?mkpasswd?-l?12?-c?3?-C?3?-d?3?-s?3 AxOgm8,^9J5*?????????????????????????#?每次生產的密碼是不同的 [root@mylinux?~]#




五、用戶身份的切換


????su [user]或?su -m [user]或su -p [user]直接使用命令切換用戶的環境變量,不會隨著新用戶一起轉換過去,但是會保持當前用戶環境配置的狀態。

[mylinux@mylinux?tmp]$?su 密碼:??????????????????????????????????????#?輸入root密碼 [root@mylinux?tmp]#?pwd /tmp [root@mylinux?tmp]#?env?|grep?'mylinux'?????#?當前的用戶環境變量還是mylinux的 HOSTNAME=mylinux?????? USER=mylinux PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/mylinux/bin MAIL=/var/spool/mail/mylinux LOGNAME=mylinux [root@mylinux?tmp]#

????所以需要一些選項

????su -?或者?su -l?環境變量會隨著用戶的切換,一切切換過去

??? 單獨的"-"選項隱含了-l。如果不指定用戶,則假設其為root。

[mylinux@mylinux?tmp]$?su?- 密碼:????????????????????????????????????#?root [root@mylinux?~]#?pwd /root [root@mylinux?~]#?env?|grep?'root'????????#?這時的環境變量隨著用戶的切換一同轉換了 USER=root MAIL=/var/spool/mail/root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin PWD=/root HOME=/root LOGNAME=root [root@mylinux?~]#

???


??? 因為su的每一次切換都需要輸入root密碼,所以就需要用到sudo,使用他的時候輸入的是他用戶本身的密碼。

? ? sudo的選項 :

? -a type?????? 使用指定的 BSD 認證類型
? -b??????????? 在后臺運行命令
? -C fd???????? 關閉所有 >= fd 的文件描述符
? -E??????????? 在執行命令時保留用戶環境
? -e??????????? 編輯文件而非執行命令
? -g group????? 以指定的用戶組執行命令
? -H??????????? 將 HOME 變量設為目標用戶的主目錄。
? -h??????????? 顯示幫助消息并退出
? -i [command]? 以目標用戶身份運行一個登錄 shell
? -K??????????? 完全移除時間戳文件
? -k??????????? 無效的時間戳文件
? -l[l] command 列出用戶能執行的命令
? -n??????????? 非交互模式,將不提示用戶
? -P??????????? 保留組向量,而非設置為目標的組向量
? -p prompt???? 使用指定的密碼提示
? -r role?????? 以指定的角色創建 SELinux 安全環境
? -S??????????? 從標準輸入讀取密碼
? -s [command]? 以目標用戶身份運行 shell
? -t type?????? 以指定的角色創建 SELinux 安全環境
? -U user?????? 在列表時,列出指定用戶的權限
? -u user?????? 以指定用戶身份運行命令(或編輯文件)
? -V??????????? 顯示版本信息并退出
? -v??????????? 更新用戶的時間戳而不執行命令
? --??????????? 停止處理命令行參數

????sudo不是任何人都可以運行的,是需要root授權的,也就是需要配置,但是需要用root來進行編輯/etc/suders,但是不是vi,而是visudo

[root@mylinux?~]#?visudo ...........前面省略.........##?The?COMMANDS?section?may?have?other?options?added?to?it.####?Allow?root?to?run?any?commands?anywhereroot????ALL=(ALL)???????ALL?????????????????#?這行在配置的第98行mylinux?ALL=(ALL)???????ALL?????????????????#?這行是新增的##?Allows?members?of?the?'sys'?group?to?run?networking,?software,##?service?management?apps?and?more.#?%sys?ALL?=?NETWORKING,?SOFTWARE,?SERVICES,?STORAGE,?DELEGATING,?PROCES????????SES,?LOCATE,?DRIVERS ...........后面勝利

???書寫的格式:

?? 賬戶????來源主機名=(可切換的賬戶)???可以執行的命令

[mylinux@mylinux?tmp]$?cat?/etc/shadow cat:?/etc/shadow:?權限不夠 [mylinux@mylinux?tmp]$?sudo?cat?/etc/shadow [sudo]?password?for?mylinux: root:$6$.AQImhvXo6CchYvC$FwdxD2VKQtWDiDyaf2rYV6J6/ZOX4LyeNFaVDl53wUBuzz6zyb00pCNEd3TEZIRNfM0fljrKcsotHwyXDVhsz1:16492:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7:::

????


?

? ? 但是當有多個用戶來管理這個主機,那豈不是要一行一行的增加,其實可以通過組來進行管理

? ? visudo打開進行編輯?

##?Allows?people?in?group?wheel?to?run?all?commands%wheel?ALL=(ALL)???????ALL??????????????????#?找到這一行將前面的“#”去掉,退出保存

????用usermod將用戶加入wheel組

[root@mylinux?~]#?usermod?-a?-G?wheel?su1 [root@mylinux?~]#?su?-?su1 [su1@mylinux?~]$?id uid=502(su1)?gid=502(su1)?組=502(su1),10(wheel)

????來測試看看吧!

[su1@mylinux?~]$?sudo?tail?-3?/etc/shadow [sudo]?password?for?su1: su1:$6$NphVy42w$03uQ.oVSkupkEsx/imypw2zQSGCC2Yw2VpeSG0OM2oOzSJHrsE.Gna3jEp1o0YgXt3EGU5Npd.oCf1SimHy7O.:16514:0:99999:7::: su2:$6$Ugvncf5s$cVZxix4.BcRe.WZq1D/QLJJOFgcAjJqfG2Zrn8pJ5/QlHjJWkdzPF./XKIxQl3uept4fY3i5YhfP0MmOBB8h4.:16514:0:99999:7::: su3:$6$lA8YAIF3$m9CjNBggvPyQXsqMday1P92db3m.A.16ii5nYwFFeVsbdeZFrMwxq7mdvVm174j2lQhtv91BaJZ9ad.oYBZgb0:16514:0:99999:7::: [su1@mylinux?~]$

???測試成功!但是怎么每次都要密碼,可以不要密碼嗎?答案是可以的

?? 還是在/etc/sudoers中進行編輯,找到下面的信息,去掉“#”注釋,保存退出

##?Same?thing?without?a?password%wheel?ALL=(ALL)???????NOPASSWD:?ALL

???我再試一下

[root@mylinux?~]#?su?-?su1 [su1@mylinux?~]$?sudo?tail?-3?/etc/shadow su1:$6$NphVy42w$03uQ.oVSkupkEsx/imypw2zQSGCC2Yw2VpeSG0OM2oOzSJHrsE.Gna3jEp1o0YgXt3EGU5Npd.oCf1SimHy7O.:16514:0:99999:7::: su2:$6$Ugvncf5s$cVZxix4.BcRe.WZq1D/QLJJOFgcAjJqfG2Zrn8pJ5/QlHjJWkdzPF./XKIxQl3uept4fY3i5YhfP0MmOBB8h4.:16514:0:99999:7::: su3:$6$lA8YAIF3$m9CjNBggvPyQXsqMday1P92db3m.A.16ii5nYwFFeVsbdeZFrMwxq7mdvVm174j2lQhtv91BaJZ9ad.oYBZgb0:16514:0:99999:7::: [su1@mylinux?~]$

???測試成功不需要密碼了,只要對用戶進行組的控制就可以實現了,不需要的時候移除組

???當然也可以讓每個用戶負責不同的權限與執行命令


本內容由導師:阿銘提供技術支持:跟阿銘學linux 點這里

??????

更新中。。。








轉載于:https://blog.51cto.com/maocong/1622655

總結

以上是生活随笔為你收集整理的linux学习笔记-第六课-/etc/passwd,/etc/shadow,useradd,su,sudo等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。