1. 程式人生 > >docker 非root賬戶

docker 非root賬戶

https://blog.csdn.net/u012763794/article/details/80943472

https://blog.csdn.net/timothy93bp/article/details/77679000

https://www.cnblogs.com/lazzyk/p/6264012.html

 

Ubuntu16.04系統中建立新使用者
本文基於Linux的Ubuntu系統新建一個普通使用者,linux系統的使用者名稱為peng, 主機名為ubuntu

1. 新建使用者
2. 允許該使用者以管理員身份執行指令
1. 新建使用者
1.1 新建只能在控制檯下登入的使用者
1) 切換為root使用者為了獲取建立使用者的許可權

[email protected]:~$ sudo su

2) 新增一個新使用者(如使用者名稱為csdn)
[email protected]:/home/peng# useradd csdn

3) 為該使用者設定登入密碼
[email protected]:/home/peng# passwd csdn這裡寫圖片描述

4) 為該使用者指定命令解釋程式(通常為/bin/bash)
[email protected]:/home/peng# usermod -s /bin/bash csdn

5) 為該使用者指定使用者主目錄
[email protected]:/home/peng# usermod -d /home/csdn csdn

6) 檢視使用者的屬性

[email protected]:/home/peng# cat /etc/passwd
這裡寫圖片描述

可以看到,已經存在csdn這個使用者。/etc/passwd中一行記錄對應著一個使用者,每行記錄又被冒號(:)分隔為7個欄位,其格式和具體含義如下:

使用者名稱:口令:使用者標識號:組標識號:註釋性描述:使用者主目錄:命令解釋程式

7) 切換到使用者csdn
[email protected]:/home/peng# su csdn

切換後如下:

這裡寫圖片描述

可以看到登陸以後的使用者csdn當前所在目錄仍為“/home/peng”,即使用者peng的主目錄。

這種方式只能在控制檯中互相切換使用者,一旦重啟系統,用該使用者還是無法登陸(只能用原來的使用者或root登陸)。

1.2 新建可登入圖形使用者介面的使用者
1) 切換為root使用者為了獲取建立使用者的許可權
[email protected]:~$ sudo su

2)新增一個新使用者(如使用者名稱為csdn)
[email protected]:/home/peng# adduser csdn

然後根據系統提示進行密碼和註釋性描述的配置,全程不用自己輸入其他命令即可配置成功,使用者主目錄和命令解析程式都是系統自動指定。

這裡寫圖片描述

3) 檢視使用者的屬性
[email protected]:/home/peng# cat /etc/passwd
這裡寫圖片描述

可以看到,與1.1相比,這裡多了我們剛才為使用者指定的使用者全名CSDN。

4) 退出當前使用者,以使用者csdn登陸系統

這裡寫圖片描述


可以看到登陸以後的使用者csdn當前所在目錄為~,即“/home/csdn”。

1.3 二者命令的差別
兩種方式最大的差別在於新建使用者的命令不同,第一種是useradd, 第二種是adduser。相對應的,如果要刪除使用者,第一種的命令為userdel, 第二種是deluser.

2. 允許該使用者以管理員身份執行指令
當我們在指令前加入“sudo”執行一些指令時(如切換到root使用者),會出現錯誤:

csdn is not in the sudoers file. This incident will be reported.

這裡寫圖片描述

1)再次切換到root使用者(不要用sudo su, 而用su root)
[email protected]:/home/peng$ su root

如果這裡提示“su: Authentication failure”,是因為沒有給root設定登入密碼,解決方法: 
1.先切換回使用者peng: su peng 
2.在給root設定登入密碼:sudo passwd root

2)執行visudo命令
[email protected]:/home/peng$ visudo

3)該命令實際上開啟的是/etc/sudoers檔案,修改該檔案,在“root ALL=(ALL:ALL) ALL”這一行下面加入一行:
csdn ALL=(ALL:ALL) ALL

ctrl+o(然後再按enter)儲存,ctrl+c取消,ctrl+x退出

這裡寫圖片描述

4)切換回csdn
[email protected]:/home/peng# su csdn

5) 用sudo su再次登入root
[email protected]:/home/peng$ sudo su
這裡寫圖片描述


可以看到,使用者csdn就可以用用sudo命令以管理員身份執行指令了。