云服务器篇:
所用的服务器是腾讯云的轻量应用服务器
规格是 2核 2G内存 50GIB硬盘
系统是 Ubuntu 20.04
所用的ssh工具为MobaXterm
初始准备:
1.更新各种包
2.开root 权限
3.尝试远程ssh连接至云服务器
操作步骤如下
1.更新各种包
sudo apt update #更新软件包列表
sudo apt upgrade #更新软件包
2.开root权限,并修改ssh配置
sudo passwd root #更改root用户的密码
sudo vim /etc/ssh/sshd_config #修改ssh配置文件
找到#Authentication,将PermitRootLogin 参数修改为 yes
找到 #Authentication,将 PasswordAuthentication 参数修改为 yes
按esc退出编辑 输入:wq保存并退出
如图:
3.尝试用远程ssh以root用户连接至云服务器
先创建一个新的会话(如图),
选择ssh,远程主机处输入 云服务器的ip地址,
指定用户名处输入root,
默认22端口
以root用户登录ssh,对应的密码为第二点 你所设置的root 密码,忘记了就重新设置一遍
输入完密码后,在命令行里输入命令 who,
出现以下画面,即为成功
以下所有步骤默认在root权限下操作
实践环节
尝试在云服务器上用samba实现远程共享文件,实现在Windows端访问云服务器上的文件(失败)
根据知乎教程云服务器那些好玩有趣的项目 - 知乎 (zhihu.com)
操作流程
1.下载并安装samba
apt install samba #安装Samba
2.检查samba是否正确安装
smbd -V #通过命令检查samba版本
如图显示,安装的samba版本为4.15.13
也可以用这个命令检查
dpkg -l | grep samba
如图显示,已经安装了 以下7个程序,同样显示了程序的版本号 架构 以及功能描述
以下是对各个程序的解释
python3-samba 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: 为Samba提供Python 3绑定。这使得可以使用Python 3编写脚本来操作Samba。 samba 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: 这是Samba的主要包,提供SMB/CIFS协议的文件、打印和登录服务,用于Unix系统。 samba-common 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: all 描述: 包含Samba服务器和客户端共同使用的文件,例如配置文件和脚本。 samba-common-bin 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: 包含Samba服务器和客户端共用的二进制文件。 samba-dsdb-modules:amd64 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: Samba目录服务数据库(DSDB)模块,为Samba提供目录服务功能。 samba-libs:amd64 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: 包含Samba的核心库文件,这些库文件为Samba提供基本功能。 samba-vfs-modules:amd64 版本: 2:4.15.13+dfsg-0ubuntu0.20.04.7 架构: amd64 描述: Samba的虚拟文件系统(VFS)插件,提供了Samba的额外功能和集成。
3.检查samba是否在运行
systemctl status smbd
如图,出现active(running) 即为正在运行
4.修改配置文件
输入以下命令
vim /etc/samba/samba.conf
打开配置文件,按照上面教程进行配置文件的修改
如图:
配置文件
[global]
workgroup = WORKGROUP
server string = %h
security = user
map to guest = never
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = no
hosts deny = ALL
#出于安全考虑,这里填写你的本地公网ip地址或网段,可在 http://ip.tool.chinaz.com/ 查询
hosts allow = 101.29.121.43 101.29.*.*[ubuntu]
comment = share for users
path = /
browseable = yes
available = yes
writable = yes
public = yes
以下是gpt对配置文件的说明
[global]
workgroup = WORKGROUP # 工作组名称
server string = %h # 服务器描述,%h 替换为主机名
security = user # 安全模式为用户级别
map to guest = never # 访客(未授权用户)不允许访问
log file = /var/log/samba/log.%m # 日志文件路径,%m 替换为客户端名
max log size = 1000 # 日志文件的最大大小(KB)
logging = file # 日志记录到文件
panic action = /usr/share/samba/panic-action %d # 发生严重错误时的动作,%d 替换为进程ID
server role = standalone server # 服务器角色为独立服务器
obey pam restrictions = no # 不遵循PAM的限制
hosts deny = ALL # 默认拒绝所有主机的连接
# 出于安全考虑,这里填写你的本地公网ip地址或网段
hosts allow = 101.29.121.43 101.29.*.* # 允许特定IP或网段访问
[ubuntu]
comment = share for users # 共享的描述
path = / # 共享路径,这里是根目录
browseable = yes # 共享目录可被浏览
available = yes # 共享目录可用
writable = yes # 共享目录可写
public = yes # 共享目录对公众开放
5. 用testparm命令对配置文件进行检查
testparm
配置正确后的输出如图
6.创建用户root
sudo smbpasswd -a root
7. 用systemctl restart smbd命令 重启服务
systemctl restart smbd
8.开放tcp445、138端口以及 udp137、138端口,尝试连接
打开我的电脑,右键选择映射网络驱动器,如图输入\\云服务器公网ip地址\ubuntu,
并勾选 使用其他凭据连接,点击完成,输入root用户名和密码即可将云服务器根目录映射到本地
9.发生报错,连接失败,还未找出解决方法,待后续找到解决方法再更新
目前已尝试过的方法有
1.端口映射,将445端口映射到其它端口
2.放开云服务器所有防火墙
一些总结
1.养成备份文件的好习惯!!!!!!!特别是配置文件,因为这个问题,我已经重新安装了超过10次ubuntu
2.在捣鼓samba的时候,接触了一些计算机网络方面的知识,说的就是你,端口映射
3.学到了查看、监听端口对应的进程,
Linux是用到 netstat -tunpl | grep smb 命令
Windows是 netsh interface portproxy show all 命令
下期预告
1.写一下基于Ubuntu如何设置samba的端口映射,以及查看对应端口是否成功更改
2.最近学到的一些Linux方面的基础知识
3.想到啥写啥