为ubuntu创建一个管理用户用来管理user用户

为ubuntu创建一个管理用户用来管理user用户,通过这种方式可以配置一个可以共享给大家的虚拟机,每个实际用户使用时只需要登录一次vmsetup用户触发一次配置个人账户信息即可。

假设该setting用户名为vmsetup

系统安装时创建user用户

如果没有创建可以用以下命令

sudo useradd -m -s /bin/bash -G sudo user
sudo passwd user

登录user后创建vmsetup用户

sudo useradd -m -s /bin/bash -G sudo vmsetup
sudo passwd vmsetup

为user和vmsetup用户添加权限

sudo visudo

命令sudo visudo实际是在修改 /etc/sudoers 文件,在末尾添加以下两行,保存退出。

user ALL=NOPASSWD:ALL
vmsetup ALL=NOPASSWD:ALL

安装以后配置脚本可能会用到的工具(可选)

sudo apt install gnome-session
sudo apt install git
sudo apt install vim-scripts
sudo apt install vim-common
sudo apt install vim-doc
sudo apt install python-is-python3
sudo apt install python3
sudo apt install python3-pip

将用户配置脚本放到/usr/local/bin/目录

/usr/local/bin/run_setup_user.sh,其目的就是gnome终端全屏模式执行另一个shell脚本。

#! /bin/bash
gnome-terminal --full-screen -- /usr/local/bin/vmsetup.sh

其中vmsetup.sh用来进行user用户的权限管理,最后会调用vmsetup_user.sh进行用户信息配置包括git配置等。
配置结束时退出当前gnome-session,退出方法如下

function desktop_logout() {
    # Logout the vmsetup user
    dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1 

    if [ "$(which gnome-session-quit)" != '' ] ;then
        gnome-session-quit --logout --no-prompt
        return
    fi

    # before version 11.10 it's gnome-session-save
    if [ "$(which gnome-session-save)" != '' ] ;then
        gnome-session-save --kill --silent
        return
    fi

    # finally even no gnome session, still can terminate current shell.
    exit
}

完成以上配置后,先登录vmsetup用户并手动运行命令run_setup_user.sh进行调试,确保运行正常。

在vmsetup用户登录时自动启动run_setup_user.sh

若想实现程序自启动,可通过以下两个目录解决~/.config/autostart/etc/xdg/autostart/;
前者是用户的,后者是系统的。两者都可以通过复制*.desktop到目录下来添加启动程序到会话。

为用户vmsetup创建目录~/.config/autostart

登录vmsetup用户

mkdir -p /home/vmsetup/.config/autostart/

编写desktop文件

/home/vmsetup/.config/autostart/run_setup_user.sh.desktop

[Desktop Entry]
Type=Application
Exec=/usr/local/bin/run_setup_user.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=run_setup_user
Name=run_setup_user
Comment[en_US]=Setup VM user account
Comment=Setup VM user account

通过以上步骤,即可以实现在登录vmsetup用户时自动启动配置程序,且配置结束自动退出vmsetup登录。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值