fedora22和win10之内的文件分享互访,SAMBA服务器搭建必发88官网

要是不想利用ftp传递文件,能够在Linux机器开启samba服务器来和windows主机沟通文件。samba最大的亮点是使用方便,和windows机器之间通过网络分享文件并未有何样界别。可是samba配置起来有一点点复杂。

前方介绍的NFS服务器的用来linux和linux系统之间分享文件和目录的,那如假诺linux和windows之间须要分享修改文件该怎么操作呢。那据须要用到SAMBA系统。大家率先来看下SAMBA系统怎样搭建。

 一,相关文化领会(本文施行景况为fedora22和win10)

1.
分明Linux机器上业已设置了samba后,成立使用Linux共享目录的用户和密码文件
命令: useradd –p 密码 用户名
创办密码文件:cat /etc/passwd | mksmbpasswd.sh >
/etc/samba/smbpasswd
为了安全起见:chmod 500 /etc/samba && chmod 600 /etc/samba/smbpasswd

1
ubuntun系统并未有自带SAMBA,所以供给额外安装

在局域网内windows系统之间共享文件能够经过windows的网络邻居分享,它是根据微软的cifs服务,而linux之间文件分享可以透过nfs文件系统来促成。当然,还要提一下ftp文件传输协议,ftp用于Internet上的决定文件的双向传输,可是它能够传输文件,却不能够让用户在客户端实时的修改文件。对于差异平台,linux和windows之间的文件分享,就要求二个工具,叫做samba

  1. 进去/etc/samba/目录中,修改smb.conf配置文件以下选项
    server string = ZZM-Linux //修改成你的linux机器名,用uname –n查看
    host allow = 172.16.128.
    //修改成你期望能访谈分享目录的IP地址用空格分开。
    security = user
    //设置成用户密码情势,要是设置成share,则无需用户名,密码就能够访问去掉以下行前边的分店注释符。
    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
    username map = /etc/samba/smbusers
    [tmp]
    comment = Temporary file space
    path = /zzm // 各样人都可读写的置换目录,注意权限图为777
    丰盛: valid users = root, zzm, // 等允许访问的用户名,逗号分隔
    增加: create mode = 0666 // 创制文件的权限图
    加上: directory mode = 0777 // 创造目录的权限图
    read only = no
    public = yes

  2. 修改samba分享用户密码
    smbpasswd –a 用户名 密码

  3. 起步samba服务器程序 (必要管理员权限)
    service smb restart
    让samba服务后一次随系统运营:
    chkconfig –level 35 smb on

  4. Windows机器访谈Linux分享目录:
    \\linux主机IP地址 那是会冒出多个分享文件夹
    tmp和用户名目录,用户名目录对应linux中的/home/用户名目录,
    tmp目录对于与第二步设置的path = /zzm.
    访谈Linux分享的时候要专注Linux机器上相应目录的权柄设置,假诺/zzm创制用户是root,组是root,
    权限图是rwxr-xr-x (755)
    ,在windows机器上用zzm目录访谈分享目录将会造成无法在tmp(Linuz中的/zzm)中开创文件。
    看样子Linux机器上的分享目录后,能够将分享目录映射成一个windows分区。便于调换文件。

apt install
samba

二,fedora访谈win10分享文件夹

必发88官网 1

2
安装好后开端运营samba

1,在windows上创造一个用户 abc
用于fedora通过该用户访问分享文件夹,找到要分享的公文夹,设置权限,分享给
abc

root@zhf-linux:/home/zhf#
/etc/init.d/samba start

2,在linux上安装samba-clientcifs-utils(如若你之前设置过了,就无需在装置了,能够动用rpm
-qa | grep samba-client 查询也许 dnf info samba-client 大概 dnf list
samba-client)

[ ok ] Starting nmbd (via
systemctl): nmbd.service.

推行该命令安装:dnf install samba-client  cifs-utils

[ ok ] Starting smbd (via
systemctl): smbd.service.

3,查看 abc 的分享权限情状避防出错

[ ok ] Starting
samba-ad-dc (via systemctl):
samba-ad-dc.service.

施行命令:smbclient -L //ip地址 -U 用户名(这里是abc)

3
能够经过ps
-aux查看samba的起步

4,挂载windows上要共享的公文夹到linux

root@zhf-linux:/home/zhf#
ps -aux | grep samba

实践:mount -t cifs -o
username=用户名,password=分享密码(创造abc时设置的密码)  //windows
ip地址/共享目录。到此挂载实现后就足以在linux上访谈分享文件夹了。

root 6153 0.0 0.0 5104 844
pts/0 S+ 09:08 0:00 grep –color=auto samba

5,在做上述步骤时或然会产出错误,例如在做步骤3时恐怕出现谬误提示:tree
connect failed:NT_STATUS_DUPLICATAE_NAME

root@zhf-linux:/home/zhf#
ps -aux | grep nwbd

a->原因:当您尝试采用在 DNS 区域中开创的 CNAME
小名连接到服务器时,只怕会爆发此难题。举个例子,在实施与以下示例命令类似的一声令下时,大概会生出此难点。

root 6157 0.0 0.0 5104 832
pts/0 S+ 09:08 0:00 grep –color=auto nwbd

net view \\别名.域名.com

(一)windows免密码登入linux分享目录:

当中,外号 是为域名.com 区域中的服务器创造的 CNAME
记录。服务器不“侦听”小名,因而不能够承受到该名称的连接。

Samba服务器首要布局文件为/etc/samba/smb.conf。
大家首先来看下windows中不用输入密码访谈Linux分享目录的措施。由此首先编辑smb.conf文件。将文件中的内容打开如下修改;

b->消除办法:在windows试行以下步骤

security=share

)假诺相应 DNS 服务器上的文书服务器并未有 CNAME 记录,则开创该 CNAME
记录。

并在文件末尾增加如下行:

)将该修复程序采用于为其创立 CNAME 记录的管理器,并不是 DNS
服务器。(除非有反常态的 DNS
服务器和文书服务器是如出一辙台微型计算机,那样的话全数更动都将动用于该服务器。)此修复程序会耳熟能详LAN Manager 服务器服务,但不会影响 DNS 作用。

[share]

)对安装该修复程序的公文服务器应用以下注册表改变。为此,请依照下列步骤操作:

comment=this is linux share
directory

)运转注册表编辑器 (Regedt32.exe)。

path=/home/zhf/zhf

)在注册表中找到并单击以下项:

public=yes

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters

writable=yes

)在编雪里蕻单上,单击加多数值,然后增加以投注册表值:

保留退出,重启samba服务器

数值名称:DisableStrictNameChecking

/etc/init.d/samba
start

数据类型:REG_DWORD

在windows下访问分享目录,点击运转,输入
\\192.168.0.11\share
那样就能够以无名用户访问分享目录share了。

基数:十进制

那边介绍下设置的那多少个参数。首先是security,security有share,user,domain二种设置

数值: 1

share:
共享的数额没有须求密码

)退出注册表编辑器。

user:使用samba服务器本身的密码数据库,密码数据库与下部的passdbbackend有关

)重新起动计算机。

domain:使用外界服务器密码

三,在windows上访谈linux共享文件夹

comment:目录的认证

1,在linux上安装samba

path:linux中的分享路线

执行:dnf install samba

writable:是不是足以写入。这里就足以看到samba服务器和FTP服务器之间的出入。FTP服务器固然能够一向下载,可是心有余而力不足在服务器上一向修改文件。独有下载后在本地下载,然后继续上传。而samba则足以支撑在服务器上在线修改文件

2,在 linux编辑samba配置文件

(二)
需求账户密码才可登入的分享(security=user)

实践:vi /etc/samba/smb.conf(先备份避防出错复苏)

前边介绍了不经过密码直接登入samba服务器的格局,设置极其轻松易行。也就那样无需密码直接访谈的法子不太安全。大家来看下通过samba服务器提供的印证格局来进展用户职分的分红,也正是说,必须要输入正确的帐号和密码后,技术够登录samba查看你本身的数据

在Network-Related Options栏里hosts
allow=xxxxxxxxx一行上填上linux的ip地址

既然须求帐号和密码,首先大家来增添新的帐号,然后设置帐号用户名,下边命将smb1用户步入到users组里面

在Standalone Server
Options栏里security=xxxxxx一行填上user(表示安全等第为user,当然能够填安全品级share,不用密码验证,然则share
在fedora22上一般无法使用)

root@zhf-linux:/var/log/samba# useradd -G users
smb1

在结尾一行补充

透过passwd命令设置用户名密码

[root] #windows通过root访谈分享文件夹

root@zhf-linux:/var/log/samba# passwd
smb1

comment = root #分解用的,可以填别的的

Enter new UNIX password:

path=/home/目录  #能够和煦安装分享目录

Retype new UNIX password:

browseable=yes    #浏览权限

passwd: password updated
successfully

guest ok  =yes #宾客账户权限

创立分享的文本夹:

writable =yes  #盛放写权限

root@zhf-linux:/etc# mkdir
/home/project

cerate mask = 0777 #新建文件开放全部权力

root@zhf-linux:/etc# chgrp
users /home/project

保存退出:wq

root@zhf-linux:/home#
chmod 2770 /home/project

3,创制访谈分享目录的用户及安装用户使用samba访谈分享目录用户访谈密码和为访谈共享目录的用户赋予可读写权限。

samba用户帐号必供给留存与/etc/passwd中,但是samba的密码与linux的密码能够不平等。后边大家新添了用户同时安装了密码。但是对于samba服务器来讲,用户的密码文件都暗许存在/var/lib/samba/private内,且用户密码使用TDB数据库格式。由此我们供给将激增的用户增加到TDB数据库中去

useradd -g root  用户名

行使pdbedit命令实行增加

smbpasswd -a 用户名

root@zhf-linux:/var/log/samba# pdbedit -a -u
smb1

chmod 775 /home/目录

new
password:

4,重启samba

retype new
password:

service smb stop

Unix username:
smb1

service smb start

NT username:

或者service smb restart

Account Flags: [U
]

5,从windows访谈分享文件夹

User SID:
S-1-5-21-144210916-2780440130-1362333617-1000

在运维里输入 \\linux ip 地址

Primary Group SID:
S-1-5-21-144210916-2780440130-1362333617-513

输入用户名及samba服务寻访密码

Full Name:

6,要是出错,注意关闭fedora的selinux和防火墙服务

Home Directory:
\\zhf-linux\smb1

sudo systemctl stop firewalld.service        # 暂且关闭,重启后复原

HomeDir Drive:

sudo systemctl start firewalld.service        # 启用防火墙

Logon Script:

sudo systemctl disable firewalld.service        # 禁止使用防火墙

Profile Path:
\\zhf-linux\smb1\profile

sudo systemctl enable firewalld.service        # 启用防火墙

Domain:
ZHF-LINUX

登时关闭SElinux,使用如下命令就能够:

Account desc:

/usr/sbin/setenforce 0 登时关闭 SELINUX

Workstations:

/usr/sbin/setenforce 1 及时启用 SELINUX

Munged dial:

加到系统默许运维内部

Logon time:
0

echo “/usr/sbin/setenforce 0” >> /etc/rc.local

Logoff time:
never

vi /etc/selinux/conf

Kickoff time:
never

set SELINUX=disabled /enforcing  关闭/开启

Password last set: Mon, 06
Nov 2017 09:50:48 CST

7,到此,linux和windows之间的文件分享互访截止

Password can change: Mon,
06 Nov 2017 09:50:48 CST

Password must change:
never

Last bad password :
0

Bad password count :
0

Logon hours :
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

还足以查看上面有多少用户。修改密码能够运用smbpasswd
smb1的命令

root@zhf-linux:/var/log/samba# pdbedit
-L

smb1:1101:

加多好用户后,下一步正是急需编写制定smb.conf文件

[global]

security=user

passdb
backend=tdbsam

[homes]

comment = home
directory

browseable =
no

writeable =
yes

create mode =
0664

directory mode =
0775

[project]

comment = smbuser’s
project

path
=/home/project

browseable =
yes

writable =
yes

write list =
@users

在window下输入\\192.168.0.11
能够观察project和share 三个分享目录,点击project会提醒输入用户名和密码。输入后大概会遇上不允许八个用户选取一个之上用户名与三个服务器或分享财富的千家万户连接
的提示。

实际这一个不是samba的限制。是Windows的限量。
一味要用public=yes的话,下面的方法都不能立竿见影减轻,因为:
在开辟存在public=yes的samba服务器时,若是首先点击了有public=yes的分享能源的时候,widows会用暗许的用户名去连接服务器,一般便是windows的登入名(能够在服务器端查看到的),那时候,再去点击未有public=yes的分享能源,由于使用了user等级,服务器就能够要求表达,那时,在此之前的暗许登入已经存在,就涌出了这种故障了

其一是windows的难题,解决办法有2个:

1
使用命令net use * /del
/y

2
注销windows然后重新步向

3
设置public=no