最近在使用Ubuntu22.04時需要用到root使用者登入桌面,於是配置了下系統,也在網上查詢了類似的文章,發現幾篇文章都操作都存在一定的問題,所以在這裡寫了一份較為完整的,這份文件是清澈過可以正常使用執行的,具體步驟如下:
修改root使用者登入桌面許可權
一、設定root使用者密碼
使用如下命令設定root使用者密碼,執行命令後,依次輸入當前登入使用者密碼,要設定的root密碼,確認root密碼
sudo passwd root
二、註釋如下兩個檔案的對應行
檔案為/etc/pam.d/gdm-password和/etc/pam.d/gdm-autologin,找到如下程式碼後在檔案前面加入#註釋,程式碼為
auth required pam_succeed_if.so user != root quiet_success
編輯檔案程式碼如下
sudo nano /etc/pam.d/gdm-autologin
sudo nano /etc/pam.d/gdm-password
三、修改profile檔案
修改/root/.profile檔案,編輯程式碼如下
sudo nano /root/.profile
註釋掉或者刪除行
mesg n 2> /dev/null || true
插入新行
tty -s && mesg n || true
注意:當沒有執行第一步“設定root使用者密碼”時,/root/.profile檔案是不存在的所以對於新安裝的系統來說,第一步是非常重要的。
四、測試
登出當前使用者後在登入介面選擇“未列出”,然後輸入使用者名稱和剛設定的密碼登入,如下圖所示:
配置root使用者的遠端ssh連線
一、安裝openssh
使用如下命令安裝openssh
sudo apt install openssh-server
二、修改配置檔案
安裝完成後修改配置檔案/etc/ssh/sshd_config,命令如下
sudo nano /etc/ssh/sshd_config
將
#PermitRootLogin prohibit-password
改成
PermitRootLogin yes
三、重啟服務
使用如下命令程式ssh服務
sudo systemctl restart ssh
四、測試
使用如下命令測試是否能成功登入
ssh root@localhost
一鍵配置指令碼
以下是一鍵配置指令碼,直接新建rootlogin.sh指令碼檔案,開啟後把以下命令貼上進去然後,執行指令碼檔案即可。
#!/bin/bash
#set root password
sudo passwd root
#notes Document content
sudo sed -i "s/.*root quiet_success$/#&/" /etc/pam.d/gdm-autologin
sudo sed -i "s/.*root quiet_success$/#&/" /etc/pam.d/gdm-password
#modify profile
sudo sed -i 's/^mesg.*/tty -s \&\& mesg n \|\| true/' /root/.profile
#install openssh
sudo apt install openssh-server
#delay
sleep 1
#modify conf
sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
#restart server
sudo systemctl restart ssh