python 切换root 执行命令

 如下,以创建系统用户举例,

配置文件配置普通用户信息,登入后切换root用户,创建一个指定名字和密码的系统用户:

def create_user(root_pwd,username,password):
    import paramiko
    result = []
    ssh = paramiko.SSHClient()
    #把要连接的机器添加到known_hosts文件中
    ssh.load_system_host_keys()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(
             hostname = settings.HOST,
             port = settings.PORT,
             username = settings.USERNAME,
             password = settings.PASSWORD,
             timeout  = 60,
          )
    sc = ssh.invoke_shell()

    def exe_cmd(cmd,t=0.1):
        sc.send(cmd)
        sc.send("\n")
        time.sleep(t)
        resp = sc.recv(9999).decode("utf8")
        #print "cmd='%s',echo='%s'\n"%(cmd,resp)
        return resp
    
    #切换root账号
    resp = exe_cmd("su root",t=1)
    if resp.endswith(u"密码:"):
        resp = exe_cmd(root_pwd)
    
    #创建用户
    cmd_create_user = "useradd {username} -d /home/{username}".format(
        username = username,
    )
    exe_cmd(cmd_create_user)

    #修改密码
    cmd_change_user_pwd = """echo "{password}" | passwd --stdin {username}""".format(
        username = username,
        password = password,
    )
    exe_cmd(cmd_change_user_pwd)

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Ubuntu 18.04下,切换Python版本存在一些挑战,但有几种方法可以解决这个问题。 1. 使用pyenv:使用pyenv可以方便地管理和切换不同版本的Python。首先,安装pyenv和相关依赖项: ``` $ sudo apt update $ sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl $ curl https://pyenv.run | bash ``` 或者,从GitHub克隆pyenv存储库: ``` $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc $ exec "$SHELL" ``` 然后,安装所需的Python版本: ``` $ pyenv install 3.7.9 $ pyenv install 2.7.18 ``` 最后,将全局Python版本设置为所需的版本: ``` $ pyenv global 3.7.9 ``` 2. 使用update-alternatives:另一个方法是使用update-alternatives命令来切换Python版本。首先,安装所需的Python版本: ``` $ sudo apt update $ sudo apt install -y python3.7 python2.7 ``` 然后,使用update-alternatives命令管理Python版本: ``` $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2 ``` 最后,使用update-alternatives命令选择所需的Python版本: ``` $ sudo update-alternatives --config python ``` 在提示下选择所需的Python版本。 无论采用哪种方法,都可以通过运行`python --version`命令来验证Python版本是否已成功切换。需要注意的是,在切换Python版本之前,最好备份您的项目或虚拟环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值