[TOC]
本文将介绍如何创建docker用户及docker用户组,并为docker用户设置免密执行`sudo`的权限。注意以下命令需使用root用户执行
---
### **创建docker用户与用户组**
首先执行以下命令判断docker用户是否存在
```
$ id docker
```
##### **1.1 docker用户已存在**
如果docker用户已存在(此时docker用户组一般也存在了),则判断docker用户是否只属于docker用户组。即执行以下命令查看
```
$ id docker
uid=1000(docker) gid=1000(docker) groups=1000(docker)
```
上面的输出中`groups`只有`docker`一个,说明docker用户只属于docker用户组。
而如果输出如下,则说明docker用户同时属于`docker`和`wheel`这两个组
```
$ id docker
uid=1000(docker) gid=1000(docker) groups=1000(docker),10(wheel)
```
此时,需要把docker用户从`wheel`组中移除(因为不移除会导致后面的权限设置不起作用),执行以下命令设置docker用户只属于docker用户组
```
$ usermod -G docker docker
```
如果有必要,使用以下命令修改docker用户的密码(可选)
```
$ passwd docker
```
##### **1.2 docker用户不存在**
如果docker用户不存在,则判断docker用户组是否存在,执行以下命令判断(`lid`命令会输出某个组下有哪些用户);如果没有报`docker does not exist`则说明docker用户组已存在,否则不存在
```
$ lid -g docker
```
如果docker用户组不存在,则执行以下命令:创建docker用户及docker用户组,并把docker用户添加到docker用户组中
```
$ useradd docker
```
如果docker用户组已存在,则执行以下命令:创建docker用户,并把docker用户添加到docker用户组中
```
$ useradd docker -g docker
```
然后确认一下docker用户只属于docker用户组。
如果有必要,使用以下命令修改docker用户的密码(可选)
```
$ passwd docker
```
### **为docker用户设置权限**
我们希望docker能使用sudo来执行某些命令,且使用sudo时不需要输入密码。
用root用户执行命令`visudo`,然后在文件的尾部添加如下一行
```
docker ALL=(ALL) NOPASSWD:ALL
```
保存后切换到docker用户,执行一下命令`sudo ls`,如果没有提示输入密码则配置成功
- 常用命令
- 用户与用户组
- 创建用户与用户组
- 快速脚本
- umask
- Yum源
- 基础Yum源
- Epel源
- 制作Yum源
- 同步Yum源
- 为Yum源配置代理
- 下载RPM及依赖
- 系统与内核
- 获取内核的rpm包
- 升级内核
- Iptables
- 基本语法
- 匹配条件
- 基础匹配条件
- 扩展匹配条件
- Addrtype
- Set
- TCP
- Mark
- Multiport
- 目标
- 基本目标
- 扩展目标
- DNAT
- LOG
- CT
- NOTRACK
- MARK
- IP set
- 连接追踪
- 初识连接追踪
- 连接追踪详解
- NAT
- 思路与参考汇总
- 数据结构
- FAQ
- Keepalived
- 单网卡多VIP
- 安装Keepalived
- 双网卡绑VIP
- 别名VIP和辅助VIP
- LVS
- 安装LVS
- Ipvsadm命令
- 磁盘与分区
- 基础知识
- 创建分区
- 格式化与挂载
- Fstab
- LVM
- LVM扩容
- Swap分区
- Tmpfs
- 网络相关
- 重命名网卡
- resolv.conf
- Tcpdump
- nslookup与dig
- ifcg-xxx
- 主机名
- 软件安装
- NFS
- Squid
- Redsocks
- Shadowsocks
- 时钟同步
- Chrony
- FTP
- 文件句柄
- 简介
- 设置文件句柄
- 其他
- SSH密钥登录
- 进程组-会话-终端
- X11转发
- 环境变量
- 常见问题
- 系统进程数
- 系统调用
- 系统调用FAQ
- 用户程序如何进行系统调用