一、先查看系统中是否安装有samba服务相关的软件包。
查看到我的linux中没有安装samba相关的软件包,接下来进行安装几个相关的软件包:
samba-3.6.9-151.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替
samba-common-3.6.9-151.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.6.9-151.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
二、使用yum进行包的安装(这样可以解决包之间的依赖关系),当然也可以使用rpm的方式单个进行安装
yum -y install samba
安装成功之后,系统会生成服务的配置文件和一些命令工具
/etc/samba/smb.conf //是samba服务的主配置文件
/etc/init.d/smb //是samba的启动/关闭文件
三、查看服务的启动情况,设置服务开机自动启动。
# service smb status
# service smb start
设置开机自动启动
# chkconfig --level 35 smb on
四、修改smb服务配置文件。
[global]
workgroup = SAMBA
security = user
map to guest = Bad User
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
hosts allow = 192.168.41.*[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
valid users = MYDOMAIN\%S[printers]
comment = All Printers
path = /var/spool/sam
babrowseable = no
guest ok = no
writable = no
printable = yes[opt]
comment = Network Logon Service
path = /opt
guest ok = yes
writable = yes
share modes = no[Profiles]
path = /var/lib/samba/profiles
browseable = no
guest ok = yes
五、windows访问samba,无用户名密码情况访问
setenforce 0
如果需要添加一个用户来控制权限,配置文件中map to guest = Bad User 这行需要去掉。
六、添加一个共享用户,用来访问共享文件。
先添加一个普通用户 (因为要添加的共享用户必须是系统用户)
# useradd test //因为不需要在shell中登录,所以可以不设置密码
然后使用smbpasswd添加共享用户并设置密码
# smbpasswd -a test
六、使用windows来访问linux中的samba服务器(网络互通的情况下)。
先查看一下linux的ip
# ifconfig eth0
ip是192.168.1.194
然后关闭防火墙
# service iptables stop
最后在windows中打开文件资源管理器输入\\192.168.1.194进行访问(用户名,密码需要修改成上面设置的)
输入共享用户名和密码进行访问
在windows10 上成功访问了linux上的samba服务器。
ps:有几个只需要注意的问题:
1,防火墙要关闭, # service iptables stop
2,selinux要设置成disabled,路径是/etc/sysconfig/selinux
3,注意共享目录的权限设置
4,要设置成不需要用户名密码直接访问,需要修改配置文件,将security设置成security = share,我改成share不起效果,所以改成添加一行 map to guest = Bad User ,应该是版本不同,此版本不支持share模式
security四种模式
1. share: 用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user: Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户
和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
使用smbpasswd添加共享用户的常用方法:
smbpasswd -a 添加用户(被添加用户必须是系统用户)
smbpasswd -d 冻结用户 (这个用户不能用了)
smbpasswd -e 恢复用户 (将冻结的用户解冻)
smbpasswd -n 将用户密码设置为空
smbpasswd -x 删除用户