问题描述
Ubuntu默认情况下未安装ssh服务,且系统处于离线环境中并且身边又没有U盘,此时需要与Ubuntu传输文件该怎么做呢?
解决方法
当Ubuntu处于离线环境,且未安装ssh服务时,我们依然可以高效的与Windows传输文件。只需简单两步,即可实现文件互传。
1.首先在Windows中创建共享目录

设置共享权限,确保当前登录用户有读写权限

共享成功后如下图所示,会出现一个网络路径\主机名共享目录

2.在Ubuntu中打开终端,创建一个目录用于挂载Windows共享目录
mkdir test

使用mount
命令,将Windows
共享目录挂载至Ubuntu
内
#-t 指定要挂载的文件系统类型,-o指定共享目录用户名与密码
sudo mount -t cifs,smb3 //10.10.20.167/scripts test/ -o username=administrator,password=admin@123

此时就可以在windows
主机中将需要上传的文件拷贝进共享目录中,以此实现Ubuntu
与Windows
之间的文件互传

在Ubuntu
的挂载目录查看

PS:上述场景为内网直连互传文件,其他场景中不建议直接将密码暴露在shell
中。
推荐方法
将密码写入临时文件中作为变量来调用,且变量仅对当前
shell
生效。同时设置定时任务每分钟执行一次用于检查是否存在该临时文件,如果存在则进行删除操作,避免忘记删除而造成密码泄露。
创建一个隐藏文件.smb
,在其中写入用于连接smb
的用户名和密码。文件保存后使用source .smb
来加载使其立即生效。
nano .smb
USERNAME=administrator
PASSWORD=admin@123
使用chmod
对该文件设置权限,仅允许root
用户和test
查看和修改,其他用户无权限。
chmod 700 .smb
修改后的文件权限如下
此时只有test
用户和root
能够访问该文件,其他用户无权限

创建定时任务,每分钟检查并删除该临时文件(具体删除时间根据实际情况设置)
crontab -e
#在文件末尾写入以下内容
* * * * * [ -f /home/test/.smb ] && rm -rf /home/test/.smb

此时如果检查到用户目录下存在.smb
文件,就会自动删除,以此来提高安全性

▽往期推荐△
原文始发于微信公众号(青菜浪人):
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/308356.html