git地址:https://github.com/wanguowan/notetext-blog/blob/master/esc_add_user.md
服务器用户设置
双十一剁手,在阿里买了一台ecs服务器,系统 Ubuntu 14.04 64位,购买的时候默认root用户,创建了root密码。
进入新服务器,考虑安全性,准备完成以下服务器配置目标:
创建自己的用户
1. 创建用户
- 命令
# useradd -d /home/wan -m wan
- 参数说明
-d,--home HOME_DIR
The new user will be created using HOME_DIR as the value for the user's login directory. -m,--create-home Create the user's home directory if it does not exist.
创建完成后,查看/home下,ls -l查看了一下目录权限,所有者和所属组都是wan
# ls -al
total 12
drwxr-xr-x 3 root root 4096 Nov 13 13:41 .
drwxr-xr-x 22 root root 4096 Nov 11 01:41 ..
drwxr-xr-x 2 wan wan 4096 Nov 13 13:41 wan
2. 设置密码
- 命令
# passwd wan
Enter new UNIX password:
Retype new UNIX password:
Welcome to aliyun Elastic Compute Service!
$
考虑应该是shell设置问题
3. 修改默认shell
查看一下当前使用shell
$ echo $SHELL
/bin/sh
使用的sh,平时自己用的最多的是bash,考虑修改成bash。
- 命令
$ chsh -s /bin/bash
Password:
- 参数说明
chsh - change login shell
-s,--shell SHELL
The name of the user's new login shell.
这里也可以使用root用户,修改/etc/passwd文件,在自己用户后面添加对应shell
# vi /etc/passwd
添加如下:
wan:x:1000:1000::/home/wan:/bin/bash
Welcome to aliyun Elastic Compute Service!
Last login: Sun Nov 13 14:06:46 2016
wan@hostname:~$
wan@hostname:~$ echo $SHELL
/bin/bash
使用sudo权限
通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su;另外sudo 是需要授权许可的,所以也被称为授权许可的su;
sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;
方式1(添加到sudo组)
修改/etc/group文件,查找sudo开头的记录行,在该行后添加自己用户名,多个用户名之间用英文逗号隔开,如下:
# vi /etc/group
添加如下:
sudo:x:27:wan
Last login: Sun Nov 13 14:18:24 2016
wan@hostname:~$ id
uid=1000(wan) gid=1000(wan) groups=1000(wan),27(sudo)
添加成功,如果想直接修改所属组,可以使用usermod命令,命令如下:
root@hostname:/# usermod -g sudo wan
usermod 与直接修改文件区别:usermod是修改用户所属组;直接修改文件,则是将用户添加到sudo组中
测试sudo命令
wan@hostname:~$ sudo su
[sudo] password for wan:
root@hostname:/home/wan#
但是中间需要输入自己的用户名,因为服务器是自己玩的,所以安全级别不要这么高,所以设置sudo不需要输入密码
设置sudo组不需要密码
# visudo
修改后效果如下
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
ctrl+x退出
方式2 添加用户到sudo配置文件中
修改/etc/sudoers,添加wan用户配置,并设置不需要使用密码
# visudo
在user privilege中添加如下
wan ALL=(ALL:ALL) NOPASSWD: ALL
禁用root ssh登录
修改ssh配置文件 /etc/ssh/sshd_config,设置PermitRootLogin为no
# vi /etc/ssh/sshd_config
PermitRootLogin no
重启ssh服务
# service ssh restart
ssh root@host
root@host's password:
Permission denied,please try again.
使用rsa public key免密码登录
1. 设置ssh支持RSA认证登录登录
# vi /etc/ssh/sshd_config
取消下面两行注释(前面的#号)
RSAAuthentication yes
PubkeyAuthentication yes
重启ssh服务
# service ssh restart
2. 设置自己的公钥
如果在自己电脑上有公钥的话,则直接上传就好啦,公钥位置 ~/.ssh/id_rsa.pub.如果没有,根据自己系统不同,网上有对应生成密钥方法,这里提供参考命令
ssh-keygen –t rsa –P ''
拷贝本地pub key到远端服务器(也可以手工打开文件,复制粘贴),服务器上无~/.ssh目录的话,可自己创建
scp ~/.ssh/id_rsa.pub wan@host:~/.ssh
$ cat cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
如果authorized_keys是首次生成,需要设置其权限为600
$ chmod 600 ~/.ssh/authorized_keys
测试是否可以免密码登录
ssh wan@host
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-86-generic x86_64)
* Documentation: https://help.ubuntu.com/
New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Welcome to aliyun Elastic Compute Service!
Last login: Sun Nov 13 15:44:07 2016
wan@hostname:~$
原文链接:https://www.f2er.com/ubuntu/356091.html