前言:
要在Linux中運行管理任務,必須要具有root(也稱為超級用戶)訪問權限。在大多數Linux發行版中,擁有一個單獨的root賬戶是很常見的,但是Ubuntu默認禁用root賬戶。這可以防止用戶出錯,並防止系統受到入侵者的攻擊。要運行需要root訪問權限的命令,使用sudo。
一.切換成root用戶
ubuntu怎么切換到root用戶,我們都知道使用su root命令,去切換到root權限,此時會提示輸入密碼,可是怎么也輸不對,提示“Authentication failure”,
此時有兩種情況一個是真的是密碼錯了,另一種就是剛安裝好的Linux系統,沒有給root設置密碼。
- 按ctrl+alt+T打開終端窗口。輸入命令:su root,回車提示輸入密碼,怎么輸入都不對
-
給root用戶設置密碼:
命令:sudo passwd root
輸入密碼,並確認密碼。
-
重新輸入命令:su root
然后輸入密碼:
發現可以切換到root權限了。
- 使用su xyx命令,切換到普通用戶。
二.如何設置Ubuntu為默認root登錄
方法一:
- 按ctrl+alt+T打開終端窗口。由於Ubuntu默認鎖定root賬戶,所以不能像在其他Linux發行版中那樣使用su成為root賬戶。而是在命令前面加上sudo。
-
在命令前輸入sudo。“Sudo”表示“代替用戶做”。當你將sudo添加到命令的開頭時,這條命令將在root權限下運行。
例如:sudo /etc/init.d/networking stop停止網絡服務,sudo adduser向系統添加新用戶。這兩個任務都需要root訪問權限。
在sudo運行這條命令前,會提示你輸入密碼。Linux會將你的密碼保存15分鍾,這樣就不用一直輸入密碼了。
-
在運行命令打開使用“圖形用戶界面(GUI)”的程序之前,輸入gksudo。出於安全考慮,Ubuntu不推薦使用“sudo”打開使用GUI的程序。而是在啟動程序的命令前面輸入gksudo。
例如:輸入gksudo gedit /etc/fstab來打開GEdit中的“fstab”文件,GEdit是一個帶有GUI的編輯程序。
如果你使用的是KDE Window Manager,用kdesudo,不要用gksudo。
-
模擬root環境。如果你是一個高級用戶,需要訪問實際的root shell(一種接口)來運行特定的腳本,使用sudo –i模擬root shell。這個命令將為你提供帶有root環境變量的超級用戶訪問權限。
輸入命令sudo passwd root。將會為root創建密碼,本質上是“啟用”這個賬戶。密碼別忘了。
輸入sudo -i。出現提示時輸入root密碼。
提示符將從$變為#,表示你具有root訪問權限。
- 讓其他用戶擁有sudo權限。如果你正在為目前沒有root權限的用戶創建賬戶,則需要將他們的用戶名添加到sudo組。為此,輸入usermod -aG sudo username(但要用正確的用戶名替換“username”)。
方法二:
- 按ctrl+alt+T打開終端窗口
- 在終端窗口輸入命令,查看Ubuntu系統文件的權限
ll /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
如果顯示為-rw-r--r,表示文件只有只讀權限
- 輸入下面命令,修改配置文件權限為所有權限(增刪改查)
chmod 770 /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
- 在終端窗口輸入以下命令,用於修改Ubuntu系統配置文件
vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
- 在打開的編輯框輸入i進入編輯模式,將以下命令復制到終端保存(按esc退出編輯模式,再按shit+:輸入wq保存並退出)
[Seat:*] autologin-guest=false autologin-user=root autologin-user-timeout=0
- 然后修改/root/.profile,注釋掉mesg n || true,並且新添加一行:tty -s && mesg n
vi /root/.prpfile
在打開的編輯框輸入i進入編輯模式,將以下命令復制到終端保存(按esc退出編輯模式,再按shit+:輸入wq保存並退出)
#~/.profile:executed by Bourne-compatible login shells. if[ "$BASH" ]; then if[-f ~/.bashrc]; then . ~/.bashrc fi fi #mesg n || true 原來的 tty -s && mesg n || true #修改為
重啟即可看到效果
三.給當前用戶添加root權限
- ls -ld /etc/sudoers* 查看當前文件權限
- su root 切換root權限
- chmod 770 /etc/sudoers[一般情況下 /etc/sudoers 的文件權限是 440,即只讀權限,需要修改為可寫]
- vi /etc//sudoers
若提示無vi命令,則需要執行以下命令安裝(聯網)vim包
sudo apt install vim 使用這個命令是下載gcc的命令----這個命令系統會自動去匹配與系統最適應的vim版本 - 打開文件后輸入i進入編輯模式,文件內容如下:
# Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL username ALL=(ALL:ALL) ALL #username表示你需要設置root權限的用戶名 # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
- 在root ALL=(ALL:ALL) ALL底下加入自己的用戶名
- 按esc退出編輯模式,再按shit+:輸入wq保存並退出
- chmod 440 /etc/sudoers 文件改回只讀
注:本篇為博主閱讀多篇文章多次嘗試后總結,若轉載,請標明來處,尊重勞動成果