admin管理员组

文章数量:1637693

vim的学习和使用比较陡峭,没有充足的时间慢慢熟悉,只能找别的替代方式,比如本文章要介绍的映射到本机windows系统上开发。

虚拟机中centos系统映射到windows方式其实蛮多的,这次介绍一种搭建相对比较简单samba。

介绍下博主使用的软件版本:

VMware-workstation-full-15.1.0

CentOS Linux release 7.6.1810 (Core)

一般centos系统都适用,可能一些配置上存在少许差别。当然也和samba版本有关,这里使用的是写博文时候最新的samba(samba.x86_64_4.10.16-9.el7_9)版本。

本文章以流程的方式讲述搭建过程和一些异常处理,帮助有需要或者急用的同学,不涉及太深入samba讲解。

保证虚拟机和centos已经正确安装,以下是samba搭建步骤:

1.安装samba

步骤:打开虚拟机,开启centos系统,以root用户登录-->输入yum -y install samba,等待安装完成

samba会自动启动,可以设置开机开启samba:systemctl enable smb.service

2.设置samba账号和密码,用于windows端登录使用

步骤:输入命令smbpasswd -a root,等待提示继续输入两次自己的密码即可

注:root就是新增加的samba用户名,本博主只是搭建用于本地开发,所以用易于记忆的账号。如果映射生产环境,切记不能设置这么醒目的用户名

3.配置需要映射的目录和虚拟目录名

步骤:

cd /etc/samba

备份下配置:cp smb.conf smb.conf_bak

vim smb.conf

在最后添加一下配置(可以直接复制过去,然后改下共享目录和samba账号,而且一定要记住把每行最后多余的空格或制表符删掉,而且内容的缩进是一个制表符。其他参数各位同学可以自个继续研究下,这里不深说明)

[project]  --登录时候输入的虚拟目录

        comment = root guest share    #共享描述

        path = /data/project                 #共享目录

        public = yes                            #允许guest用户访问

        writable = yes                         #允许在project目录下写入

        directory mask = 0775           #默认创建目录权限 rwxrwxr_x

        create mask = 0775               #默认创建文件权限 rwxrwxr_x

        valid users = root                   #允许访问该共享的用户,可以设置多个用英文逗号隔开

        write list = root                       #可写入共享的用户列表,可以设置多个用英文逗号隔开

        browseable = yes                 #该指定共享目录可浏览

        available = yes                     #该指定共享资源可使用

编辑好之后保存,然后运行如下3条命令重新加载smb.conf,并重启samba

service smb reload(或者systemctl reload smb)

service smb restart (或者systemctl restart smb)

service nmb restart (或者systemctl restart nmb)

可以看到就算使用service命令,其实最终也是重定向使用systemctl命令。直接使用systemctl命令,没有提示就是正确的。

4.设置端口绕过防火墙

步骤:分别输入以下四条命令,没有先后顺序:

firewall-cmd --add-port=137/udp --permanent
firewall-cmd --add-port=138/udp --permanent
firewall-cmd --add-port=139/tcp --permanent
firewall-cmd --add-port=445/tcp --permanent
firewall-cmd --reload

也可以直接关闭防火墙:service iptables stop,但是重启后会失效。

5.解除SELinux访问限制

a.临时解除限制方式(重启会失效):输入命令setenforce 0

b.永久解除限制方式和步骤:

先备份:cp /etc/selinux/config /etc/selinux/config.bak

vim /etc/selinux/config

更改SELINUX=enforcing为SELINUX=disabled

重启:reboot

6.windows上登录samba,进入共享目录

步骤:计算机(win10就是 此电脑)-->右键-->【映射网络驱动器】-->文件夹位置填写自己centos服务器地址+smb.conf设置的虚拟目录 然后点击完成,最后输入创建的samba账号+密码 点击确定:

如果连接登录不成功:

1)检测samba是否开启,参考文章第3点,找命令重启下samba;

2)可以访问虚拟目录homes(smb.conf有配置),如我的就是输入:\\192.168.23.129\homes。但是自定义目录不行,检测编写配置时候,是不是有逻辑行的后面有多余的空格或者制表符,有就删除。而且内容的缩进是否是一个制表符,要改成缩进为一个制表符。然后参考文章第3点刷新配置和重启samba;

3.检测输入的账号密码是否有误;

4.正常创建了驱动盘但是无法访问?检查SELinux访问限制是否没关,解决方法请看文章第5点;

5.如果还是不行,但是homes虚拟目录可以访问,暂时先用着这个目录吧,homes毫无疑问就是你的主目录,使用cd ~命令切换过去(用cd ~更稳,避免因不熟悉centos而不知道自己的主目录是哪个)。

注意:

1.如果没办法在共享目录中创建子目录,需要在smb.conf中[global]后追加,参考文章第3点刷新配置和重启samba:

directory mask = 0775

create mask = 0775 

force create mode = 0775

本文标签: 磁盘虚拟机目录系统samba