Fedora 8 安装开启samba

来源:互联网 发布:java socket长连接 编辑:程序博客网 时间:2024/06/05 10:12

关于开启samba共享服务



进入/etc/samba目录发现有.conf文件啊,以为一切已经装好了呢,结果启动时就提示:smb:未识别的服务。于是乎去谷歌百度一番,说是没有安装全,没有安装服务器端。

接下来就去安装吧,由于还是个菜鸟,折腾一番,mount 安装盘到 /mnt/cdrom中。查看Packages里面,有三个有关samba的文件,分别是:

samba-3.0.26a-6.fc8.i386.rpm
samba-client-3.0.26a-6.fc8.i386.rpm
samba-common-3.0.26a-6.fc8.i386.rpm

于是准备安装之:

rpm -ivh -aid Sam*

结果出来一warning: Header V3 DSA signature: NOKEY 具体忘了。。。

折腾一番,找到解决方案:加上--force  --nodeps

即:rpm -ivh -aid Sam*  --force  --nodeps

success!

可以启动smb服务了。

接下来是关于samba共享的东西了。(是摘抄的了)


[root@cisco /]# cd /etc/samba/
[root@cisco samba]# ls
lmhosts smb.conf smbpasswd smbusers
这里的smb.conf是samba服务器的主要配置文件。
还要注意一点,smbpasswd文件是用来存储用户帐号和经过md5加密后的密码。
刚安装好samba服务时,此文件不存在。需要手工创建。下面会介绍。
3. 编辑smb.conf文件
[root@cisco samba]# vi smb.conf
进行如下设置:
#======================= Global Settings =====================================
[global]
workgroup = MSHOME 将linux 加入的工作组名,我这里加入了MSHOME工作组。

server string = Samba 这是服务器描述信息,方便标志资源。可以随便输入。

encrypt passwords = yes 表示是否对用户的密码进行加密,这里选择加密,安全!

public = yes 定义一个共享是否对公共访问开放。当设置为 yes 时,在系统上没有帐户用户

将基于所定义的客户帐户的属性来接收访问。

smb passwd file = /etc/samba/smbpasswd 这是账号密码的存放文件

netbios name = mm's samba 在外部访问该samba服务器时,显示的信息。

# --------------------------- Logging Options -----------------------------

# logs split per machine

log file = /var/log/samba/log.%m log文件的存放位置。

# max 50KB per log file, then rotate

max log size = 0 log文件的大小限制,设置为0表示不做限制。

# ----------------------- Standalone Server Options ------------------------

security = user 共享的安全级别,samba有四种安全等级:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码)

passdb backend = tdbsam

以上即为通用一般配置。

加入我们需要共享的目录为 /opt/

需要添加如下代码:

[rose]

comment = This is my samba server! 设置共享信息,随便输入

path = /opt 共享目录

valid users = testuser 可以访问次共享目录的用户,我这里设为testuser用户

public = yes 同上面的解释

writable = yes 用户是否可写,这里我们允许。

wq!

保存退出即可。



4. 启动smb服务

[root@cisco samba]# service smb start

Starting SMB services: [ OK ]

[root@cisco samba]# service nmb start

Starting NMB services: [ OK ]

5. 添加可以访问我们刚才设置共享目录的用户:testuser

1)建一个系统用户

[root@linux samba]# useradd testuser (建一个名叫testuser的用户)

[root@linux samba]# passwd t (给testuser用户添加密码)

Changing password for user samba.

New password: (密码要六位以上,不显示在屏幕上)

BAD PASSWORD: it does not contain enough DIFFERENT characters

Retype new password: (确认密码)

passwd: all authentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@linux samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
3) 然后创建samba帐户
[root@cisco samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:smbl
Added user testuser.
6. 重新启动smb服务
[root@cisco samba]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
下面我们在Windows下测试一下,我的系统为Windows xp sp3
在Linux 下访问Windows的共享资源,显示信息为:
[root@cisco samba]# smbclient -L //192.168.1.10
Password:
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
Printer Adobe PDF Office Document Image Writer
session request to 192.168.1.10 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
在Linux 下访问自己的samba服务器,显示信息为:
[root@cisco samba]# smbclient -L //192.168.1.12
Password:
Anonymous login successful
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.26a-6.fc8]
Sharename Type Comment
--------- ---- -------
homes Disk Home Directories
rose Disk This is my samba server!
test-1 Disk This is my samba server!
IPC$ IPC IPC Service (Samba)
Anonymous login successful
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.26a-6.fc8]
Server Comment

注意点

  1.如果能够看到文件夹,但是点击没有权限,就请关闭selinux在重启

修改/etc/selinux/config
将 SELINUX="enforcing或permissive改成disabled"
然后reboot

Fedora 13安装samba所遇到的问题与解决办法分享

这篇是samba安装篇后续版:Fedora13学习系列2---安装samba

http://hi.baidu.com/zykbcatv/blog/item/7b065f131b2274def7039e9b.html

安装samba服务当时只为了在虚拟机与主机之间的文件分享,前期已经搞定了在LINUX系统中访问window中的共享资源。在windows访问linux遇到问题了,搁了几周终于有兴趣来折腾。。。分享一下解决问题的过程:

1 windows可以ping通linux主机但无法访问

无法访问的原因是没有合法的用户访问,提示权限不对。

这个问题是我错误的理解了samba用户与linux系统用户的概念。

我的LINUX系统中有三个用户:root, samba, zengyong. 我想直接用这三个用户名与对应的密码就可以在window端访问samba共享,实际上是错误的。

samba还要单独设置这些系统中已经有的用户名的密码,用这个命令:smbpasswd 重新设定这个用户的samba登录密码

(samba有很强大的配置选择,考虑如果对方拥有samba的访问权限,就知道了系统中的用户名,从安全角度考虑,还可以做用户名的映射)

2 设定好samba用户后,可以列出用户列表,无法访问。

解决了samba登录的问题,但登录后无法写入文件,主目录甚至不能访问,直接提示权限不够。

我的系统中共享了samba用户的主目录/home/samba 专门开了一个共享目录/mnt/share.

第1点:登录samba服务器的登录名在LINUX系统中一定是有权限操作

如我在windows端用的samba用户名登录,在LINUX系统中查看/mnt/share目录可以知道:samba用户拥用目录的读写权限。

第2 点 smb.conf配置文件中需要设置对共享目录的访问权限限制

设置1 :哪些用户可以访问:guest ok = yes所有用户都可以访问

设置2 :browseable = yes 列出可以访问的目录(这个不是必须,不列出,也可以直接通过路径访问,类似于windows中的D$这种)
设置3 :writable = yes 开启目录写权限, 如果是read only = on 则只能读,不能写

设置4 (最重要的一点,我就是没有设置导致无法写入/mnt/share目录,也不能进入/home/samba主目录。

这就是SELINUX设置

chcon -R -t samba_share_t /home/samba

chcon -R -t samba_share_t /mnt/share share

还有一个命令,未尝试

setsebool -P samba_export_all_rw on(允许写)

命令可以参考smb.conf 配置文件中的前面的说明文档

有一个更简单的办法,直接禁用selinux

vi /etc/sysconfig/selinux

selinux=disable 把原来的enable 改为disable即可


注意关闭防火墙