linux下配置samba服务器 实现windows共享

来源:互联网 发布:淘宝卖家中心怎么找 编辑:程序博客网 时间:2024/06/10 02:42

一.安装samba服务器

首先: rpm -qa|grep samba                                   // 查看要机是否有安装

如果有安装 就用 rpm -e samba                              //删除以前的安装

然后 yum -y install samba    // yum 安装samba

samba-common  //samba  的公用组件

samba                   //samba的服务器端

samba-client        //samba的客户端s

二.配置samba

[global]

workgroup = SAMBA

security = user  //这里的user 表示必须使用  用户名 密码才可以登录  samba    在以前的版本中可能还有     share等选项    ,V3.5版本后的只有user可以用

                        其它的设置不用改,默认就可以了

在文件的未尾,添加自己要共享的目录

[share] //它表示共享目录在别的机器上的显示的名称

comment = huangjunhui share                                 //这只是个说明的文字,意义不大

path = /var/share// 设置共享目录的路径

writable = yes//表示目录可写

public  = yes// 也可以写   guest ok = yes  表示允许以guest的身分访问

browsable  = yes //  共享目录是否可见

以上几行已经足够了  

create mask  = 0664  表示在共享目录中新建的文件的访问权限               可以不写

write list = root,user1,user2    // 表示可以用户的白名单       可以不写


文件修改完成,保存退出

#   testparm  -s smb.conf                                             // 检测一下smb.conf的书写有没有错误

-------------------------------------------------------------------------------------------------------------------------------------

samba 必须有自己的用户才可以访问,并且用户还必须是  本机  系统上的用户,(不能是远程的用户)

所以接下来  

在本机创建一个用户                                useradd  mysmb

 把这个用户添加到 samba的用户中,使用命令            smbpasswd    -a mysmb     // -a 表示新添加一个用户  不可缺少                      回车后,就可以输入samba 的用户密码了


-----------------------------------------------------------------------------------------------------------------------------------

samba服务是要开启两个服务进程的                            一个是            smb  服务                          另一个是                        nmb 服务

service smb start                                        service nmb   start                          

--------------------------------------------------------------------------------------------------------------------------------------------

将samba服务设为开机自启动的

systemctl enable smb.service

systemctl enable nmb.service

systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

 任务旧指令新指令使某服务自动启动chkconfig –level 3 httpd onsystemctl enable httpd.service使某服务不自动启动chkconfig –level 3 httpd offsystemctl disable httpd.service检查服务状态service httpd statussystemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)显示所有已启动的服务chkconfig –listsystemctl list-units –type=service启动某服务service httpd startsystemctl start httpd.service停止某服务service httpd stopsystemctl stop httpd.service重启某服务service httpd restartsystemctl restart httpd.service

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

注意,我们在 windows上连接 samba的文件夹 要关闭防火墙和  selinux
service firewalld stop             //关闭防火墙
关闭  selunux  有两种方法
1。  临时方法           getenforce   //查看 selinux的况态
   setenforce 0     // 临时关闭 selinux
2。永久关闭           

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

-----------------------------------------------------------------------------------------------------------

在windows  运行中  输入              \\ ip地址\share  就可以访问了   
或者用  映射网络驱动器
--------------------------------------------------------------------------------------------------------------------------------
可能会有linux目录访问权限的问题,简单粗暴的方法     在linux下对共享的目录        chmod 777 /var/share              //做成最大权限

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

值得一提的是 ,当我们在windows 使用ide工具来开发一个网站项目,然后上传到 linux 服务器上的测试  我们就可以使用  samba 服务 

使用windows 直接在 linux上面修改 文件

但是 apache 运行的时候,httpd 的进程的执行者是  daemon  ,  (查看方法 ps aus|grep httpd )    ,那么,我们通过访问 网站上的程序在网站目录下创建的文件等都是daemon用户的,当samba用户来访问时,就打不开,没有权限,

这时我们的做法是,,创建的  samba用户的名 ,就用 apache   ,   然后在 apache.conf 文件中也把   user  daemon 改成  apache,  这样就不冲突了

nginx 的话,也一样要修改  ,nginx 默认的是root用户






阅读全文
0 0
原创粉丝点击