不慎搞崩了一台 Ubuntu 服务器,本文记录重装系统、远程桌面系统、SSH 系统、用户配置等过程。
选择系统:linuxmint 18.1 mate
优点:兼容 Ubuntu 16.04, 更加可控,桌面环境稳定,桌面环境便于远程桌面。
缺点:毕竟不是 Ubuntu,不知道会不会出现奇怪的兼容问题。
软件源,更新
安装完成后首先配置软件源并更新,避免安装的软件更新后不能使用。
在图形界面的软件包管理器中选择中国软件源。如清华软件源。本文网络环境下,这样的设置就足够了。不必手动编辑软件源替换掉所有官方源。
运行例行更新
sudo apt update
sudo apt upgrade
用户配置
此次服务器崩溃,虽然用户根目录保存下来了,但是系统中没有这些用户了。因此需要批量创建用户:
for i in $(more users.list)
do
adduser $i
done
for i in $(more users.list)
do
chown -R $i:$i /home/$i
done
$(more users.list)$
是在读取用户名列表。如果根目录是单独分区,那么 ls /home
得到的可能还有一个 lost+fount
文件夹。可以先 ls /home > ./users.list
编辑之后在使用 $(more users.list)
读取用户名列表。
这个办法需要手动输入密码,适用于用户不太多的情况。
由于重新创建用户,home 目录中文件所有者、所有者群可能有问题。第二段命令是在修复 home 目录中文件所有者信息。
如果需要为新用户添加 sudo 权限,可以使用以下命令:
for i in $(more users.list)
do
sudo usermod -a -G sudo $i
done
这个办法比使用 sudo visudo
修改 sudoers
文件方便一点。
安装远程桌面
sudo apt install tightvncserver
sudo apt install xrdp
这两条命令最好依次执行,不要一条命令全部装上。
然后,在每个用户根目录下创建 .xsession,内容只有一行: mate-session
. 管理员可以直接在所有用户根目录下创建符号链接。以及需要创建一个 .Xauthority 文件:
for i in $(more users.list)
do
rm /home/$i/.Xauthority
touch /home/$i/.Xauthority
rm /home/$i/.xsession
ln -s /home/admin/.xsession /home/$i/.xsession
done