ubuntu 新增管理員賬號
1,轉載文章:http://blog.csdn.net/codebistu/article/details/8200908
適當修了設定密碼的錯誤命令。還有就是如果建立的新使用者要使用sudo,使用命令sudo adduser <username> sudo之後重新登入賬號就可以使用sudo了。
刪除使用者:
刪除使用者(userdel命令)
語法:userdel [-r] [要刪除的使用者的名稱]
例如:[[email protected] ~]userdel -r aillo
Ubuntu 預設只有安裝時候的那個賬號是系統管理員賬號,也不會給出root使用者許可權。
在管理員賬號下,用passwd命令給root一個密碼,就可以使用root了。
但是,使用useradd時候,如果不加引數,新增的為普通賬號。
如何新增一個新的系統管理員賬號,個人在使用root賬號時的操作:
#useradd -mr <username>(你要新增的賬號名稱)
然後
# passwd<username>(新新增的賬號名稱
其中,useradd的引數說明可以使用useradd --help檢視。
-m 為建立賬號主目錄,預設不建立。
-r 為建立系統管理員賬號
還有一個引數-s當時沒弄明白,後面出現問題時候才發覺。
當你用這種方法建立使用者,切換到該使用者時,發現,ll命令用不了了,環境好像不是預設的bash。
是的,ubuntu建立新使用者預設環境不是bash,坑了。
具體ubuntu建立新使用者的預設值可以使用useradd -D命令來檢視。
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
果然坑啊,預設的是sh而不是像鳥哥用C
要使用bash作為預設的shell環境,就要如下:
# useradd -s /bin/bash -mr <username>
修改預設的shell環境。
還有另外一種方法可以更改shell環境,就是修改/etc/passwd這個檔案。
在你新建的賬號那行的最後就是你預設的shell環境。
不過,最好還是建立賬號時候就修改了,畢竟修改檔案容易出錯。
//******// 我在這裡新增賬號使用的是root,但是,使用系統管理員也可以新增系統管理員賬號,不必使用root
//******// 用法:$sudo useradd -s /bin/bash -mr <username> 即可。畢竟能不用root就不用root,減少風險。
// 讓新新增的管理賬號擁有sudo許可權
當新增一個新的管理員賬號後,預設沒有sudo許可權,因為其沒有加入sudoers。
網上有很多都是介紹去修改/etc/sudoers這個檔案,但我覺得這不是一個好的辦法。
在askubuntu論壇上有一個回覆很好地解決了這個問題。
sudo adduser <username> sudo
即使用命令將使用者加入sudo組。
系統第一個預設賬號加入的組除了它自己組外還有:
adm cdrom sudo dip plugdev lpadmin sambashare //使用 groups <username>命令檢視。
如果你想更改預設賬號,你也需要把新賬號加入這些組,同樣使用上面的命令即可。
如果你新增新賬號到了這些組,你就可以把原來賬號刪除,用新的賬號來作為系統預設管理員賬號了
2Linux系統中切換使用者身份su與sudo的用法與例項
轉載文章 http://zebralinux.blog.51cto.com/8627088/1369301
作時,再切換成root使用者身份去執行。
普通使用者切換到root使用者的方式有:su和sudo。
1,su -
(su為switch user,即切換使用者的簡寫)
格式:su -l USERNAME(-l為login,即登陸的簡寫)
-l可以將l省略掉,所以此命令常寫為su - USERNAME
如果不指定USERNAME(使用者名稱),預設即為root,所以切換到root的身份的命令即為:su -root或是直接 su -
例項1:普通使用者user1知道root賬戶登入密碼,要求使用者user1在不登出登入的前提下檢視/etc/shadow檔案。
如下圖,試圖檢視檔案/etc/shadow時,提示拒絕訪問,此時使用su - 命令切換成root身份後,即可正常檢視。
之後,通過命令exit或logout,或者是快捷鍵Cry+D即可返回原使用者身份。
2:su - 與su
通過su切換使用者還可以直接使用命令su USERNAME,與su - USERNAME的不同之處如下:
su - USERNAME切換使用者後,同時切換到新使用者的工作環境中
su USERNAME切換使用者後,不改變原使用者的工作目錄,及其他環境變數目錄
如下圖,顯示兩個命令的執行結果:
3,sudo
使用su切換使用者時需知曉對應使用者的登陸密碼,即若切換成root使用者身份,需知道root使用者的登陸密碼。作為root使用者管理員,如何授權其他普通使用者,在不需要知曉root密碼的情況下,執行root許可權的命令操作?此時即可使用sudo。
sudo是一種許可權管理機制,依賴於/etc/sudoers,其定義了授權給哪個使用者可以以管理員的身份能夠執行什麼樣的管理命令;
格式:sudo -u USERNAME COMMAND
當普通使用者通過sudo以root使用者執行命令時,sudo後面的 -uUSERNAME可省略,即sudo COMMAND 即意為sudo以root使用者執行
預設情況下,系統只有root使用者可以執行sudo命令。需要root使用者通過使用visudo命令編輯sudo的配置檔案/etc/sudoers,才可以授權其他普通使用者執行sudo命令。
如下圖,假如使用普通使用者帳號user4通過sudo以root使用者身份執行命令tail /etc/shadow時,即被提示:user4未被定義在sudoers檔案中,無法執行此命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo命令
語法:sudo [-bhHpV][-s ][-u <使用者>][指令]
或 sudo [-klv]
引數:
-b 在後臺執行指令。
-h 顯示幫助。
-H 將HOME環境變數設為新身份的HOME環境變數。
-k 結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼。
-l 列出目前使用者可執行與無法執行的指令。
-p 改變詢問密碼的提示符號。
-s 執行指定的shell。
-u <使用者> 以指定的使用者作為新的身份。若不加上此引數,則預設以root作為新的身份。
-v 延長密碼有效期限5分鐘。
-V 顯示版本資訊。
-S 從標準輸入流替代終端來獲取密碼
|
4,sudoers
sudo的配置檔案為:/etc/sudoers。
sudoers檔案中允許指定使用者在不需要知道root使用者的登陸密碼的情況下,可以以root使用者身份執行各種命令。此檔案必須使用visudo命令編輯配置。(visudo命令可以提供basic sanitychecks和check for parse errors,即提供快速的正確性有效性檢查,以及語法檢查功能)
檢視sudores檔案,其中有一行如下圖,定義了允許root使用者從任何主機登陸,使用sudo可以切換成任何使用者的身份,執行所有命令。
檢視sudoers檔案,其中有兩行如下圖,定義了組可以使用sudo命令的配置。
例項2:設定普通使用者user4,使其可以使用sudo命令以root使用者身份修改其他所有使用者登入密碼,但不能修改root使用者登陸密碼
未被授權前,user4使用sudo以root使用者修改user1的密碼時,提示user4未被定義在sudoers檔案中,無法執行,並且此事件將被報告給。如下圖:
執行visudo命令,編輯sudoers檔案,新增一行:使用者帳號為user4;可以從任何主機登陸,執行三條命令(以root身份執行passwd命令後面不加使用者名稱時,即代表修改root使用者本身的密碼,此即為第一條命令的作用),如下圖,即可實現user4可以修改除root使用者之外的其他所有使用者的登入密碼。
之後,user4通過sudo以root使用者身份即可成功修改user1的密碼(而不需要知道root的密碼,只需要輸入自己的密碼即可),同時無法修改root的密碼,如下圖:
例項3:設定組Administrators內所有成員都可以通過sudo以root使用者身份執行所有命令,且不需要驗證本身的賬戶密碼。
通過visudo命令編輯sudoers檔案,新增如下一行,即完成配置。
之後,成員一user1,即可通過sudo以root使用者執行所有命令,且不需要驗證本身賬戶密碼。如下圖:
附:man文件中su和sudo的解釋:
su - run a shell with substitute user andgroup IDs
以替代的使用者執行shell。(即su之後,在當前shell上的使用者身份已轉變)
sudo - excute a command as another user.
sudo allows a permitted user to execute acommand as the superuser or another user, as specified by security policy.
以其他使用者身份執行命令。sudo依照安全策略中指定,允許授權使用者以超級使用者或是其他使用者身份執行命令。(即sudo,只是臨時以其他使用者身份執行命令,並不會切換身份)
su -c
當然,su也可以在不切換使用者身份的情況下,臨時以其他使用者執行命令。
通過選項-c,即可使用root身份臨時執行命令,如下圖:
/bin/su -
同時,也可以通過配置sudoers檔案,授權其他普通使用者,可以切換成其他使用者身份去執行命令,而不必每次都加上sudo。如下圖,只需在sudoers檔案中定義普通使用者user4
之後,使用者user4只需執行一次sudo su - 即可切換成root身份了
注:例項環境為Vmware Workstation 9、CentOS 6.4
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow