假设添加用户benben
到用户组,先将基本操作及命令写上。后面再对部分指令做详细介绍。
step1: sudo adduser benben
创建用户;
step2: 使用sudo su
切换到root
权限,进入/home/
目录,然后就可以看到你用户组中的其他成员;
step3: 进入到benben/
目录。由于此目录下的文件基本都是隐藏文件(以.
开头),所以使用ls -al
可以查看目录详细内容;
step4: 从上一级中的其他用户目录中,拷贝一份.ssh
文件到benben/
目录下;
step5: 改变.ssh
文件所有者和文件所有的用户组,利用chown benben:benben .ssh
step6: 进入.ssh
目录,修改authorized_keys
文件,将自己的公钥放到此文件中
step7: 将用户添加到wheel
用户组,usermod -aG wheel benben
step8: 解决普通用户使用docker
命令加sudo
,usermod -aG docker benben
创建用户的命令
上文中介绍了adduser
,其实还有另外一种创建方法,useradd
。两者的联系与区别如下:
首先进入到/usr/sbin
目录下,接着使用命令ll | grep useradd
。可以看到下图所示的结果。
观察结果中的第一条和第三条,发现原来adduser
是链接到了useradd
,于是useradd
和adduser
的作用是完全一样。都是在创建用户之后,在/etc/passwd
文件中加一条有关新建用户的记录。接着在/home
目录下创建新用户的主目录,并把/etc/skel
目录中的文件复制到这个主目录下面。
但是这种方法创建的新用户,在设置密码之前是不能登录到服务器上的。你还需要在root
权限下使用命令passwd <username>
来为指定用户设置密码,例如passwd benben
。
ssh免密码登录
免密登录原理是基于密钥的验证,客户端生成一对密钥,将公钥放到远程服务器上。这样就可以避免其他客户仿冒。具体做法就是:
首先在客户端生成一对公钥和私钥,id_rsa
和id_rsa.pub
两个文件。生成的工具有很多,例如你可以打开git
控制台,然后输入ssh-keygen
命令,来启动该程序。(在Linux/Mac
系统中,ssh-keygen
随ssh
软件包提供,在Windows
上,该程序包含于MSysGit
软件包中。)
文件生成后,将公钥id_rsa.pub
文件拷贝到服务端的~/.ssh/authorized_keys
文件中。
wheel用户组
通常情况下,一般用户通过执行su -
命令,然后输入正确的root
密码,就可以登录到root
用户,从而对系统进行管理员级别的配置。为了加强系统的安全性,还需要建立一个管理员的组。只允许这个组的用户来执行su -
命令来登录root
用户,其他组的用户即使执行命令su -
,输入正确的root
密码,也是无法登录root
用户。这个组的名称就是wheel
。
step7的作用就是将benben
加入wheel
组而不离开原来的组。
参考文章