在linux中使用SAMBA服务器进行共享为什么进入文夹夹后需要用户密码,我输什么都是错的?
可能 /etc/samba/smbconf 仍旧有问题,注意以下配置:
[global]
workgroup = WORKGROUP
[share]
comment = Share folder from tpad-r50 Gentoo system
path = /path/to/share
browseable = yes
guest ok = yes
public = yes
首先,请确认您的LINUX版本是REDHAT50以上。因为50之前的版本需要使用源码包编译内核进行配置安装。
其次就是您对您的WINXP系统的策略足够了解吗?一般来说,WINDOWS当中共享访问的策略是不能够支持无验证访问的。就是说您必须输入具体的用户名和密码才能访问远程的共享资源(即使LINUX的SAMBA能够支持匿名访问)。针对这种情况,您可以编辑SAMBA主配置文件/etc/samba/smbconf,将全局设置(Gobal Settings)中的Security(安全级别)修改成user(默认好像是share)。然后再在共享的代码容器内添加valid users=您要添加的用户。 保存退出后,再使用smbpasswd -a 您要添加的用户 来设置您的SAMBA可访问用户。别忘了给共享目录分配访问权限:chmod 711 共享目录。如果不会配置LINUX的防火墙,就使用/etc/initd/iptables stop 来关闭防火墙。这一步非常重要,如果防火墙未关闭或者配置不正确,将导致远程WINDOWS客户端无法访问。 (通常情况下为了服务器的安全,我们会使用在创建用户后使用usermod 用户名 -s /sbin/nologin 来限制此用户禁止在服务器本机登陆)。
全部完毕后,保存操作,重启服务。到WINDOWS系统中输入用户名和密码进行访问。如果想实现匿名访问,那么就事先要把WINDOWS相关策略修改。具体参照:运行下输入SECPOLMSC。
希望可以帮到你。
这几天学习了Linux下面的Samba服务器架设
系统环境:Windows xp sp3 ,IP:192168110 虚拟机下安装了Fedora-8-i386 IP:192168112
1 首先检查os是否安装好了samba。
[root@cisco samba]# rpm -qa | grep smb
如果出现下面三行内容,则表示已经安装好了Samba
libsmbios-libs-01310-1fc8
libsmbios-bin-01310-1fc8
pam_smb-117-722
如果没有安装后好,需要进入安装关盘Fedora-8-i386-DVDiso
[root@cisco /]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@cisco /]# cd /mnt/cdrom/
[root@cisco cdrom]# ls
fedoracss isolinux README-BURNING-ISOS-en_UStxt repoview RPM-GPG-KEY-fedora RPM-GPG-KEY-rawhide
GPL mediarepo RELEASE-NOTES-en_UShtml RPM-GPG-KEY RPM-GPG-KEY-fedora-rawhide stylesheet-images
images Packages repodata RPM-GPG-KEY-beta RPM-GPG-KEY-fedora-test TRANSTBL
[root@cisco cdrom]# cd Packages/
[root@cisco Packages]# rpm -ivh -aid smb
即可安装成功。
2 进入samba目录
[root@cisco /]# cd /etc/samba/
[root@cisco samba]# ls
lmhosts smbconf smbpasswd smbusers
这里的smbconf是samba服务器的主要配置文件。
还要注意一点,smbpasswd文件是用来存储用户帐号和经过md5加密后的密码。
刚安装好samba服务时,此文件不存在。需要手工创建。下面会介绍。
3 编辑smbconf文件
[root@cisco samba]# vi smbconf
进行如下设置:
#======================= 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 | mksmbpasswdsh /etc/samba/smbpasswd
3) 然后创建samba帐户
[root@cisco samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
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 //192168110
Password:
Domain=[XPSP3] OS=[Windows 51] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
Printer Adobe PDF Office Document Image Writer
session request to 192168110 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[XPSP3] OS=[Windows 51] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
在Linux 下访问自己的samba服务器,显示信息为:
[root@cisco samba]# smbclient -L //192168112
Password:
Anonymous login successful
Domain=[MSHOME] OS=[Unix] Server=[Samba 3026a-6fc8]
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 3026a-6fc8]
Server Comment
--------- -------
MM'S SAMBA Samba
Workgroup Master
--------- -------
MSHOME
单击[开始]——[运行] 输入 “secpolmsc”打开管理工具,展开“本地策略”;
然后,单击“安全选项”。 双击“网络安全:LAN Manager 身份验证级别”;
最后,单击列表中:发送LM和NTLMv2响应(&)。
确认服务是否已经开启:
service smb status
确认防火墙没有拒绝相应的通信:
iptables -F
确认网络连通:
ping一下Linux主机
也可以在Linux主机上这样试一下:
smbclient //localhost/sharename -U 用户名
如果可以进入,那就说明服务没有问题,应该就是网络通信或者防火墙的问题了。
0条评论