1. 文章部分参考了
2. 设置linux系统为静态ip
- Windows版本——>win7,64位
- Ubuntu版本——>Ubuntu16.04
2.1 必须保证linux系统是能上网的我们可以通过ping www.hao123.com
来确认。
2.2 设置Ubuntu为静态IP
2.2.1 点击虚拟机——>设置
2.2.2 点击网络适配器——>桥接模式
2.2.3 点击系统设置——>网络
2.2.4 点击网路——>选项
2.2.5 点击IPv4设置——>手动
2.2.6 设置手动IP地址
- 这里最好设置与Windows的网络在同一个网段上。我们在cmd窗口中输入
ipconfig
确认Windows的ip地址。
- 我电脑的ip地址为
192.168.43.202
,我们设置Ubuntu的ip时可以在除1,202
以外的所有地址。 - 这里我设置我的ip地址如下:
- 地址:192.168.43.250
- 子网掩码:255.255.255.0
- 网关:192.168.43.1
- DNS:192.168.43.1
2.2.7 保存后重启Ubuntu
- 查看ip地址是否设置成功
- 查看是否能连接外网
3. 安装Samba服务器
3.1 安装Samba
sudo apt-get install samba
3.2 修改配置文件——>添加全局配置
sudo vi /etc/samba/smb.conf
security = user
guest account = wdh
-
在
[global]
的workgroup = WORKGROUP添加以下属性。 -
如果上面的配置没有
“guest account = wdh”
这行,那么默认用户就是 nobody,就是说windows客户端上载文件到linux samba共享文件夹后,文件夹的属主权限就都是 nobody用户。有时候需要用户为wdh
,那么就需要增加这行就行了。我的Ubuntu的电脑用户名是wdh
,大家根据自己的用户名进行修改。大家可以把“guest account = wdh”
去掉试试,创建或删除文件时就会发现权限问题。如下图。
-
security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
- share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
- user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
- server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
- domain:域安全级别,使用主域控制器(PDC)来完成认证。
3.3 修改配置文件——>添加用户配置
sudo vi /etc/samba/smb.conf
[wdh]
path = /home/wdh
public = yes
writeable = yes
browseable = yes
guest ok = yes
create mask = 0775
directory mask = 0775
force user = wdh
force group = wdh
[wdh]
——>在Windows上显示的名字path = /home/wdh
——>Ubuntu共享到Windows上的目录public = yes
——>public用来指定该共享是否允许guest账户访问,yes=允许,no=不允许。writeable = yes
——>writable用来指定该共享路径是否可写,yes=是,no=否。browseable = yes
——>browseable用来指定该共享是否可以浏览,yes=是,no=否。guest ok = yes
——>说明用public。create mask = 0775
——>创建文件时的默认属性。directory mask = 0775
——>创建目录时的默认属性。force user = wdh
——>强制把建立的文件的用户属性设置为wdh
force group = wdh
——>强制把建立的文件的用户组属性设置为wdh
- 别去设置
admin users
,valid users
这些属性,不输入密码不香吗?需要进行权限管理的当我没说(手动狗头)。
3.4 修改文件夹的权限
- 千万不要直接给
chmod 777
这样会导致使用ssh远程连接Ubuntu时即使使用rsa的免密方式也需要输入密码。 - 这里看了我另一篇文章1.4.3(Vscode 使用Remote-SSH 连接到虚拟机上的linux系统)的同学,感受将更真切(这里查了一个晚上真是巨坑呀,嘤嘤嘤。)
- 原因是在访问权限属性打满的文件夹时,ssh认为这个文件夹是不安全的还是需要输入密码。
sudo chmod 731 /home/wdh
- 这里是最低的权限要求。
3.5 重启smbd生效
sudo /etc/init.d/smbd restart
4. 在Windows上映射网络驱动器
5. 另一种连接Ubuntu目录的方法
- 甚至我们可以通过如(Q-dir)这样的多窗口文件整理工具可以在同一个界面拖拉文件。下面是演示例子。