安装Linux系统后的基本配置
安装Linux系统后的基本配置
安装好Linux后一般有两个用户:
- root 用户,即系统创建的拥有最高权限的用户,可以操作任何地方的任何文件或者程序;
- 系统安装完成时自己创建的用户,这里假设为user1,初创时只能操作home/user1 目录下和的文件或程序;后续可通过修改文件或目的权限
设置root用户密码
root 用户密码默认是随机的,即每次开机都系统都会给它设置一个新的密码,所以在给root设置密码之前是无法切换至root用户的,因为不知道其密码...
# 在当前用户:
sudo passwd root
# 提示输入当前用户的密码,键入密码不会显示:
[sudo] password for user1:
# 提示输入要设置用户的新密码,两次输入后即可设置完成:
New password:
Retype New password:
# 此时再切换到root用户,输入刚才设置的密码就可以了
su root
赋予普通用户root权限
-
方法一修改用户组
切换至root用户,打开文件 /etc/sudoers
找到以下位置,在root 下增加一行:## Allow root to run any commands anywhere root ALL=(ALL) ALL user1 ALL=(ALL) ALL # user1 即为添加了root 权限的用户
-
方法二 修改用户ID
打开文件 /etc/passwd 找到以下位置,把用户ID改为0# 修改前 user1:x:500:500:tommy /home/user1:/bin/bash # 修改后 user1:x:0:500:tommy /home/user1:/bin/bash
不推荐修改ID的方法,因为user1 登录后用的是root用户的权限,而且终端显示的也是root的名称,但实际已经切换到user1 了;
注意:两种修改方法都要重启机器;
ssh 远程终端登录设置
- 查看机子所在IP地址,一般是esn33字段
ifconfig
- 安装ssh服务
如果在安装系统的时候没有勾选育安装ssh则需要自行安装
查看22端口是否开启了,确认是否安装了ssh
如果没有找到启动的22端口 说明ssh 还没安装,安装并启用:netstat -ntlp|grep 22
现在远程ssh 可以通过创建的user1的账号密码登录了,但是root用户还不行;sudo apt-get install openssh-server sudo apt-get instal ufw sudo ufw enable sudo ufw allow 22
如在powershell中:
开启root用户远程登录:# 假设机子所在的IP为 192.168.47.129 ssh use1@192.168.47.129
打开文件:/etc/ssh/sshd_config
修改当中配置 PermitRootLogin 字段
修改保存后 重启ssh:PermitRootLogin yes
sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start
- ssh 秘钥登录
打开文件:/etc/ssh/sshd_config,修改以下几个字段:
将本地的ssh公钥复制到跟目录下 .ssh/authorized_keys 文件中,如果根目录没有这个文件则可以先创建:PubkeyAuthentication yes RSAAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
本地秘钥配置,在本地秘钥配置文件.ssh/config增加一条:mkdir ~/.ssh touch ~/.ssh/authorized_keys
现在就可以在本地终端如powershell 来远程连接了:Host vm User user1 Hostname 192.168.47.129 IdentityFile C:\Users\marvin\.ssh\id_rsa # Host 远程服务器别名 # User 登录远程服务器的用户名 # Hostname # 远程服务器IP 也可以是域名
但是root用户要使用秘钥登录还需要另外配置,确保/etc/ssh/sshd_config 中PermitRootLogin yes 之后,还需另外的在/root/.ssh/authorized_keys 文件中也追加一条 本地的公钥,然后再配置本地root的配置ssh vm
root 远程登录Host vmRoot User root Hostname 192.168.47.129 IdentityFile C:\Users\marvin\.ssh\id_rsa
ssh vmRoot