centOS配置samba详细步骤及一些错误解决方案

简单整理下步骤,详细的见下文。

step1:安装samba

yum install samba samba-client samba-swat

step2:配置/etc/samba/smb.conf

step3:启动samba

/etc/init.d/smb restart
/etc/init.d/nmb restart

step4:增加samba用户

smbpasswd -a root

step5:其他设置(做成开机自启动的方式,编辑 /etc/rc.local)

/etc/init.d/iptables stop    // 关闭防火墙
setenforce 0                 // 关闭SELinux

step6:设置开机自启动

chkconfig --level 35 smb on
chkconfig --level 35 nmb on

然后restart下smb和nmb。

step7:在windows上或者linux用step4设置的账户密码登陆即可。

step8:改下linux ip为静态ip。编辑:/etc/sysconfig/network-scripts/ifcfg-eth0

=========================分割线========================


首先,在网上查到一份说明比较清晰的配置文章(详细点击此处),这里就不再赘述,该文章给出了从安装samba服务到samba具体配置的全过程,并有详细的解释。

下面是我按照上面提到的文章配置后的一些错误提示及解决方案。

我的smb.conf文件主要内容如下:

[global]
    security = share
[public]
    comment = Public Stuff
    path = /projects
    public = yes
    writable = yes
    browseable = yes

 

然后重启下smb和nmb服务之后。

 

/etc/init.d/smb restart
/etc/init.d/nmb restart

 

会出现如下错误:

 

windows下的错误提示为:可以浏览文件,但是无法新建文件、写入文件等等,如下图所示。

 

可以浏览文件。

不能写入文件。

 

linux下的错误提示为:

 

该错误的解决有2种途径。

一种是在smb.conf的[global]字段中加入

 

client lanman auth = yes
client ntlmv2 auth = no

 

另一种是将security = share改为security = user,即使用用户名密码进行连接。

如此,上述错误解决。

 

又遇到一个错误,可以浏览文件,可以新建文件,可以写入文件,但是不能删除文件或者重命名文件。

linux下的错误提示为:

该问题的解决方案为改变文件夹权限,需要对我们samba共享的文件夹属性进行更改,改为777。如下:

 

chmod 777 /projects/

 

如此,上述错误解决。

 

有时候会出现连接失败的错误。

windows下错误提示就是连接失败。

linux下的错误提示为:

这是因为smb在linux下没有配置成为开机自启动的服务。

chkconfig smb on
chkconfig nmb on

这2个命令可以解决该问题。

有时候会出现很奇怪的问题,比如在vs下编辑,不能保存,显示错误:没有权限写入,但是如果用记事本编辑/projects/里的文件又可以保存。这个是属主的问题,在linux下用chown改变文件属主为你的samba账户即可。

后来的解决办法是samba不用share模式,用user模式。

将windows下的用户名cj添加到samba用户中,

useradd cj
smbpasswd -a cj

并改变共享文件夹属性,

chown -R cj:cj /projects
chmod 777 /projects

解决了。

 

PS:

1. 有时候提示无法访问的时候,也可以试试换一个目录试试,比如我最开始的时候设置的共享目录为/home/cj/projects,提示无法访问,后来就把该目录换为/projects/,放在根目录下,就可以了。(这里应该还是用户权限的问题)

2. 防火墙没关闭可能也会影响samba共享,关闭防火墙的命令为:

/etc/init.d/iptables stop     关闭防火墙

3. SELinux没有关闭也可能会影响samba共享,关闭SELinux的命令为:

setenforce 0

或者去修改SELinux的配置文件,使之关闭。

再PS:

samba配置中一些常用命令

 

/etc/init.d/smb restart    启动smb服务

/etc/init.d/nmb restart    启动nmb服务

testparm    查看配置信息

pdbedit -L  查看有哪些smaba用户

smbclient //192.168.112.133/public -U cj    使用cj用户连接samba服务器

 

ll /projects/    查看/project/文件夹属性

vi /etc/samba/smb.conf     编辑samba配置文件

 

chkconfig smb on    启动smb服务

chkconfig nmb on    启动nmb服务

chkconfig --list    查看系统服务项

 

修改samba端口

在配置文件smb.conf的[global]字段中增加 smb ports = 端口号

 

 

 

 

曾今遇到的一个错误

在腾讯云上一台linux主机,想通过samba共享给本地windows或者本地linux,配置都正常,防火墙iptables和SElinux都关闭了,但是就是连不上。telnet看了下139(一般用在局域网共享)和445(一般用在Internet共享,不再同一个局域网)端口都无法连通,原因应该是电信运营商交换机那边直接封掉了这2个端口(应该是出于安全考虑,之前流行的那个NSA病毒啥的,有看到运营商封端口的新闻),后来通过配置smb.conf文件修改了samba共享的端口,就可以共享了。

但是问题又来了,共享给本地linux没问题,通过smbclient //192.168.112.133/public -U cj -p 10000连接没问题;但是共享给windows不知道怎么弄?在windows上映射网络驱动器没办法指定自定义端口。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 中设置 Samba 服务器是一个常见的需求,Samba 允许你在 Linux 系统上共享文件和打印机资源给其他操作系统,如 Windows。以下是一个基本的 Samba 服务器配置步骤: 1. 安装 Samba: ``` sudo yum install samba samba-y ``` 2. 配置 Samba:编辑 ` smb.conf` 文件(通常位于 `/etc/samba/smb.conf`): - 打开文件并备份: ``` sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ``` - 使用文本编辑器打开(例如 vi 或 nano): ``` sudo nano /etc/samba/smb.conf ``` - 添加或修改共享设置,例如创建一个名为 "sharedfolder" 的共享: ``` [sharedfolder] path = /path/to/shared/folder browseable = yes read only = no guest ok = no ``` - 关于权限,你可以添加 users 和 groups 列表,或者使用 `%users` 和 `%groupprof` 分配默认权限。 3. 设置 Samba 用户: - 创建 Samba 用户,与系统用户关联(比如 `sambashareuser`),并为该用户设置密码: ``` sudo useradd -m -G sambasharegroup sambashareuser sudo smbpasswd -a sambashareuser ``` - 确保 Samba 用户有权限访问共享目录。 4. 重启 Samba 服务: ``` sudo systemctl restart smb.service ``` 5. 配置防火墙(如果启用): - 需要允许 Samba 服务端口(通常是 139 和 445)通过防火墙: ``` sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload ``` 完成上述步骤后,你应该能通过网络访问配置好的共享文件夹了。记得根据你的具体需求调整共享设置,并确保安全措施得当。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值