零基础】Debian 10挂载硬盘教程

环境准备
(安装)Debian 10 系统,我是以腾讯云服务器的 Debian 10.2 系统镜像重装的系统,其他云服务器或者物理机安装系统可能不同,内置的软件也可能不同,故此处步骤省略。

挂载数据盘
安装系统后,除了系统盘,debian默认是没有挂载其他硬盘的,我们需要先挂载其他硬盘作为数据盘。

查看磁盘

查看新磁盘是否已连接

fdisk -l

图中可见,系统识别出 /dev/vda 和 /dev/vdb 两个磁盘,盘符分别是 /dev/vda1 和 /dev/vdb1 。

查看现有磁盘信息,是否已挂载

df -h

可以看到,系统只挂载了 /dev/vda1 一个磁盘作为系统盘,挂载路径为 / 。

格式化磁盘
然后我们需要格式化 /dev/vdb1 以便挂载。

注意,格式化要慎重,会清空原来的数据!

格式化为ext4。慎重!慎重!慎重!

mkfs -t ext4 /dev/vdb1

格式化时会询问是否继续,输入y继续

y

挂载
先创建挂载点,即挂载路径,再进行挂载,还需要设置重启时自动挂载。

创建挂载点

mkdir /data

给全部权限

chmod 777 /data

这里创建挂载点时,提示路径 /data 已经存在,可忽略,也可以另外再创建其他路径。

挂载

mount /dev/vdb1 /data

挂载之后,需要设置重启系统时自动挂载,以免每次重启系统还要重新挂载数据盘。

查磁盘的UUID

ls -l /dev/disk/by-uuid

这里使用快捷键 Ctrl + Insert 复制UUID,用于设置挂载。

编辑 /etc/fstab

nano /etc/fstab

在文件尾部添加新的一行 UUID=4af78fcb-bf85-4f22-8f01-a0720dc09efa /data ext4 defaults 0 0 ,保存文件并退出。

这里用到了 nano 编辑器,Ctrl + W 搜索、 Ctrl + O 保存、 Ctrl + X 退出是常用的三个快捷键。

再次查看现有磁盘信息,看是否挂载成功

df -h

更新升级系统
sudo apt-get update -y
sudo apt-get upgrade -y

新建普通用户
由于直接使用 root 用户操作很不安全,一旦密码泄露或被破解,系统就完全失去保护了,所以要新建一个普通用户来进行日常的系统操作和维护。

这里我以新建 dev 用户为例进行操作。

添加 dev 用户

useradd -m -s /bin/bash dev

命令 完整命令 英文说明 中文说明
-m –create-home create the user’s home directory 创建用户的home路径
-s –shell SHELL login shell of the new account 指定新账号登录的脚本

修改密码

passwd dev
注意,linux系统在输入密码时,是不显示 * 等符号的,所以直接输入即可,不要在意是否显示。

将新增的用户加入 sudo 用户组

usermod -aG sudo dev

命令 完整命令 英文说明 中文说明
-a –append append the user to the supplemental GROUPS mentioned by the -G option without removing him/her from other groups 将用户附加到-G选项中提到的补充组中,而不将其从其他组中移除
-G –groups GROUPS new list of supplementary GROUPS 指定补充组的新名单

编辑 sudo 配置,把 dev 用户加入 sudo 名单

visudo
在配置文件中加入下面代码,表示给 dev 用户所有 sudo 权限:

User Privilege Specification

dev ALL=(ALL:ALL) ALL

保存并退出。

SSH 配置
为了提高安全性,我们需要修改默认的 ssh 端口号,并禁用 root 用户。

编辑 /etc/ssh/sshd_config

nano /etc/ssh/sshd_config
端口号改为 Port 2222 。
禁用 root 用户 PermitRootLogin no 。
然后临时开启密码登录 PasswordAuthentication yes ,以便 dev 用户上传公钥。

最后保存文件并退出。

重启 ssh 服务

service sshd restart

注意,这个窗口不要关闭,以免设置错误导致无法登录。

dev 用户登录初始设置
由于dev 用户登录系统,缺失环境变量 /sbin ,所以需要先设置环境变量。

新打开一个 shell 窗口,密码登录 dev 用户。

设置环境变量

编辑 .bashrc 文件

vi .bashrc
这里用的是 vim 编辑器,可用 Insert 键切换 INSERT 插入和 REPLACE 替换两种模式,当为 INSERT 时,我们将 export PATH=$PATH:/sbin 添加至文件末尾,然后按 Esc 退出插入模式,再键入 :wq 保存并退出。
:q! 是强制退出不保存。

执行以下语句使 .bashrc 生效

source ~/.bashrc

查看环境变量

echo $PATH
环境变量是以 : 分隔的。

创建 ssh 公钥文件

创建 ssh 文件夹

mkdir .ssh && chmod 700 .ssh

创建 authorized_keys 文件,并授予权限

touch .ssh/authorized_keys && chmod 755 .ssh/authorized_keys

在客户端上传 dev 用户的公钥
在客户端打开 shell 窗口,这里以 Windows 10 系统为例,以管理员身份打开 PowerShell 软件。

添加 ssh 密钥

生成一对 ED25519 密钥

ssh-keygen -t ed25519 -C “dev” -f C:\Users\Administrator.ssh\id_ed25519_dev

生成的密钥存放在 C:\Users\你登录的用户名.ssh 文件夹内,你只需要在资源管理器的地址栏输入 %HOMEPATH%.ssh 和 回车 即可看到。

其中,id_ed25519_dev 是私钥,是属于你自己设备的密钥;id_ed25519_dev.pub 是公钥,是需要传给服务器的密钥。它们是一对,如果私钥与公钥不匹配,那么身份校验就会失败。

接下来要用 scp 命令登录 dev 用户把公钥传到服务器上。

上传公钥

scp -P 2222 .ssh/id_ed25519_dev.pub dev@[ip]:/home/dev/.ssh/authorized_keys
注意替换ip地址 [ip] 。

显示 id_ed25519_dev.pub 上传 100% 即成功。

注意,这个窗口不要关闭,以免设置错误导致无法登录。

上传安全脚本
默认情况下,系统是开放所有端口的,很容易被侵入。我们需要上传一个自定义的脚本 ServerSecurity.sh ,以备后面配置 iptables 。

编写安全脚本
在 D:\ 根目录新建一个 ServerSecurity.sh 文件,写入下面代码。

!/bin/bash

echo “服务器安全脚本”

echo “系统更新”
sudo apt-get update -y
sudo apt-get upgrade -y

echo “iptables”

echo “安装 iptables”
sudo apt-get install -y iptables

echo “清除已有规则”
sudo iptables -F
sudo iptables -X
sudo iptables -Z

echo “关闭端口”
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

echo “放行端口”
sudo iptables -A INPUT -p tcp –dport 2222 -j ACCEPT
sudo iptables -A OUTPUT -p tcp –sport 2222 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp –sport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 443 -j ACCEPT
sudo iptables -A OUTPUT -p tcp –sport 443 -j ACCEPT

echo “保存放行规则”
sudo iptables-save

echo “重启系统”
sudo reboot
上传安全脚本
在客户端打开 shell 窗口,这里以 Windows 10 系统为例,以管理员身份打开 PowerShell 软件。

上传

scp -P 2222 D:/ServerSecurity.sh dev@[ip]:/home/dev/ServerSecurity.sh
注意替换ip地址 [ip] 。

dev 用户使用密钥登录
新打开一个 shell 窗口,使用密钥 dev 用户,测试是否配置成功,登录成功后可以关掉其他窗口了。

查看上传的文件
先来查看一下刚才 ServerSecurity.sh 脚本文件是否上传成功。

切换到用户目录

cd

查看当前目录中的文件

ls

可以看到,已有 ServerSecurity.sh 脚本文件,但是看不到 .ssh 文件夹,原因是 .ssh 文件夹是隐藏的,需要用 ls -a 命令查看。

禁止密码登录

编辑 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config
注意,如果需要使用 root 权限,可以在命令前加上 sudo 命令,这样就可避免很多权限问题。

首次使用 sudo 命令或者验证过期时,需要输入密码。

在文件末尾处修改 PasswordAuthentication no ,退出并保存。

重启 ssh 服务

sudo service sshd restart
配置 iptables
前面上传的 ServerSecurity.sh 脚本文件,就是用来安装和配置 iptables 的。

我们执行一行代码即可实现自动配置:

执行脚本

bash ServerSecurity.sh
注意,此脚本会禁用一些端口,并重启系统,执行前请确认好 放行端口 。

执行脚本并重启系统后,安全防护就基本完成了。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片