今天有一个需求是使用程序在Linux新建用户账户和家目录。找了好久,只找到和golang如何使用cmd相关的,那么就可以试试了。

最终在centos7上成功了。

func AddLinuxUser(username, password string) {//这里新建用户,并新建家目录useradd := exec.Command("useradd", "-m", username)err := useradd.Start()if err != nil {fmt.Println(err.Error())}useradd.Wait()//下面两个是管道的两端//linux可以使用  echo "password" | passwd --stdin username//直接更改密码ps := exec.Command("echo", password)grep := exec.Command("passwd", "--stdin", username)r, w := io.Pipe() // 创建一个管道defer r.Close()defer w.Close()ps.Stdout = w  // ps向管道的一端写grep.Stdin = r // grep从管道的一端读var buffer bytes.Buffergrep.Stdout = &buffer // grep的输出为buffer_ = ps.Start()_ = grep.Start()ps.Wait()w.Close()grep.Wait()io.Copy(os.Stdout, &buffer) // buffer拷贝到系统标准输出}

Golang 在linux中新建用户相关推荐

  1. Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决

    Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决 参考:https://b ...

  2. linux中的用户、群组和权限

    linux中的用户.群组和权限  linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 55 ...

  3. Linux中的用户与权限

    1.Linux中的用户 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普 ...

  4. Linux中修改用户UID和组GID的方法

    Linux中修改用户UID和组GID的方法 http://www.sijitao.net/2401.html 发表时间:2016-04-20 21:30 | 分类: Linux | 浏览:2,344 ...

  5. linux查看用户bashrc,Linux中.bashrc用户环境文件详解

    Linux中.bashrc用户环境文件影响用户使用bash,于是笔者来分析一下文件中重要的部分.看看文件中关于文件作用的说明: ~/.bashrc: executed by bash(1) for n ...

  6. linux用户空间 限制吗,在Linux中限制用户空间

    在Linux中限制用户的磁盘使用空间使用的是Quota,一般Quota在安装Linux时就已包括在内核中,不需要另行安装.Quota可以从两方面指定磁盘的储存限制: 使用者所能够支配的索引节点(ino ...

  7. 虚拟机Linux中判断用户输入的是 Yes 或 NO

    Linux中判断用户输入的是 Yes 或 NO #!/bin/bash # 判断用户输入的是 Yes 或 NO read -p "Are you sure?[y/n]:" sure ...

  8. Linux中的用户及文件权限管理总结

    一.用户 1.查看用户:who am I 2.创建用户:sudo adduser <用户名> 在linux中,root权限拥有至高无上的权利,一般登录系统时都是以普通账户的身份登录的,要创 ...

  9. Linux中的用户和组

    Linux操作系统是多用户操作系统,它允许多个用户同时登录到系统中,使用系统资源,为了使所有用户的工作都能顺利进行,保护每个用户的文件和进程,也为了系统自身的安全和稳定,必须建立起一种机制,使每个用户 ...

最新文章

  1. form中的onblur事件简单的介绍
  2. AWS — AWS 上的 5G 网络切片
  3. 嵌入式linux中的锁机制,跟涛哥一起学嵌入式第11集:一个实现锁机制非常有意思的宏...
  4. 使用auditctl追踪文件变化
  5. 面向对象 —— 类的分类
  6. Android 导入导出excel xls、xlsx
  7. 爬取网易云音乐的歌曲
  8. 分享3个超棒的免费wordpress主题: Splus, EMagazine和BAGONG
  9. 苹果上网本报价_比iPhone还便宜,这是你能买到最香的苹果笔记本!?
  10. 易地图google版,可精确经纬度查询定位
  11. 祝萍:后疫情时代,医美运营既要走心也要反套路
  12. 转载:SyncToy安装使用详解
  13. 【工程记录】基于松灵Scout mini底盘实现小车自主探索建图
  14. 【计算机毕业设计】528口腔管家平台
  15. 【WebServerProgramming】Ch.1 网络因特网Web
  16. 01【股票初级】-【找准入场时机】投资五大流派,好公司投资法,判断单只股票是否便宜?如何找准时机入场?
  17. TCP选项之SACK选项概述
  18. c语言求矩阵各行元素之和
  19. 2022眼视光展,护眼产品展,眼睛健康展,视力康复展
  20. 【信号采集】基于FPGA的高速信号采集系统

热门文章

  1. 人脸检测的测试程序(视频和摄像头)
  2. _getch() 和 getch() 及 _T()
  3. Python:后缀为whl的文件是什么?如何安装whl文件?
  4. 细讲如何判断文法是否是LL(1)文法
  5. Texmaker+Miktex配置
  6. 解决前端警告: Warning: Failed prop type: Invalid prop value of type number supplied to Textinput
  7. 临近年关,为何越来越多的程序员不愿回家,带你盘点那些程序员最怕的几件事
  8. banner设圆角_illustrator大气、科技感的Banner设计教程
  9. 可视化搭建平台的参考网格线设计
  10. PHP中的opcode