最近在使用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