1.安装 daemonize 和 fontconfig
sudo apt install -y fontconfig daemonize
2.文件/etc/profile末尾加入
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
if [ -z "$SYSTEMD_PID" ]; then
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi
if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
exec sudo nsenter -t $SYSTEMD_PID -m -p su - $LOGNAME
fi
注意:查看daemonize是否存在
3.文件/etc/sudoers末尾加入
在 root 先赋权限给root用户在操作,chmod 777 /etc/sudoers
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*
4.配置生效
sudo -s
source /etc/profile
出现异常
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
解决方法
这个是linux为保证系统安全所做的限制,解决方法运行如下两条命令:
-- pkexec 这个值好像可以去掉
pkexec chmod 555 /etc/sudoers
pkexec chmod 555 /etc/sudoers.d/README
sudoers的权限被改了,改回来就好了。
pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README
作者:蓑衣覆雨
链接:https://juejin.cn/post/7090552251042758686
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。