storage R&D guy.
全部博文(1000)
分类: LINUX
2016-05-07 16:40:46
原文地址:在Ubuntu下samba服务器搭建 作者:hpwzd
环境:Ubuntu10.10 server
一、安装
Ubuntu下安装samba
#apt-get install samba
#apt-get install smbfs
二、samba配置文件/etc/samba/smb.conf介绍
(1)全局配置
[global]
workgroup = WORKGROUP //这是设置工作组,跟XP一样就OK
server string = Samba Server Version %v //工作组的说明而已,注释
;username map=/etc/samba/smbusers //指名系统帐号跟虚拟帐号的对应关系文件夹位置(默认没有这个文件的)
(2)日志选项
# logs split per machine
log file = /var/log/samba/%m.log 日志存放地方
# max 50KB per log file, then rotate
max log size = 50 设置日志文件最大尺寸,单位KB
[使用Samba服务器的每个客户机的日志分别保存在与客户主机同名的“%m.log”文件中,“%m”变量表示客户端主机的名称]
其中,当samba服务器刚刚建立好后,只有两个日志文件,分别是nmbd.log和smbd.log,它们分别记录nmbd和smbd进程的运行日志。
nmbd.log是用来管理群组还NETBOIS解析的
smbd.log是用来管理samba服务器共享目录,文件与打印等信息
当客户端通过网络访问samba服务器后,会自动添加客户端机器的相关日志
(3)安全选项
security = user
security值有4个含义
share 表示用户不需要账户及密码即可登入Samba服务器(需要匿名登录就设置他)
user 表示由提供服务的Samba服务器负责检查账户及密码(Samba默认的安全等级,登录需要帐号和密码)
server表示检查账户及密码的工作指定由另一台Windows服务器或Samba服务器负责,就是说需要转交给其他服务器来验证
domain表示指定Windows域控制服务器来验证用户的账户及密码 ]
三、samba不用账户密码访问linux
步骤1:建立共享目录
#mkdir /home/x4
步骤2:smb.conf设置
#cd /etc/samb //进入设置目录
#mv smb.conf smb.conf.bak //做好备份,直接将系统默认配置文件改名
#vi smb.conf //建立和配置smb.conf文件
找到#security = usr,在后面添加:
security=share //samba的安全等级,share不需要输入用户名和密码
在文件最后添加:
[x3] //方框号中的x3这个名字可以随便取,只是在win的网上邻居中显示的共享文件夹名
path=/home/x4 //x4为你要共享的文件夹名,在共享前还要建立这个文件夹,并设好权限以便访问,下面会说明。
public=yes
writable=yes //允许x4目录中进行读和写操作,反之no
存盘退出
#testparm //检查一下语法错误,比如拼错
步骤3:重启samba服务
#service smbd restart
四、samba使用账户密码访问linux
步骤1:添加linux用户
#useradd user1 //添加用户名user1
#passwd user1 //给用户名user1添加密码
#mkdir /home/user1 //建立user1的home目录,如果不用这个用户名来登陆linux,此步骤不是必需
#chown -R user1:user1 /home/user1 //给user1的home目录设置好权限
步骤2:给samba服务器添加用户
说明:登陆samba的用户必须已经是linux中的用户
#smbpasswd -a user1 //添加并给user1设置samba密码
步骤3:smb.conf设置
#cd /etc/samb //进入设置目录
#mv smb.conf smb.conf.bak //做好备份,直接将系统默认配置文件改名
#vim smb.conf //建立和配置smb.conf文件
[global]
workgrop=x1 //X1为你局域网中的工作组名
server string=x2 //x2为你linux主机描述性文字,比如:samba server。
security=user //samba的安全等级,user代表需要输入用户名和密码,改成share则不需要输入用户名和密码
smb passwd file= /etc/samba/smbpasswd
注意:将Samba的安全级别设置了user级别,那么用户登录Samba主机必须输入密码,此用户必须是Linux中的/etc/passwd文件存在的用户,因此在smb.conf文件中的security=user下需加入:smb passwd file= /etc/samba/smbpasswd
步骤4:
在共享部分添加:
[homes]
comment=Home Directories
valid users=%S
public=no //no表示除了登录用户,其它用户在进入samba服务器后看不见homes这个目录,如果为yes,虽然能看见x4这个目录,但除了登录用户能进入这个目录,其它人进不了。
writable=yes //允许user1在x4目录中进行读和写操作,反之no
注意:其中%S为一个变量,它代表了登录用户的用户名,既认证的用户登录后就能进入自己的宿主目录。然后在 /etc/samba下建立smbpasswd文件并加入用户:
步骤5:
建立登录用户
#touch /etc/samba/smbpasswd
#smbpasswd -a user1
NEW SMB password:
Retype new SMB password:
这样就可以让user1登录Samba主机了。其中smbpasswd命令的格式为:
#smbpasswd [-选项] 用户名
常见选项有:
-a:新添加一个Samba用户。
-d:禁用一个Samba用户。
-e:使禁用的Samba用户解禁。
如果需要对设置进行检测,我们可以直接使用testparm命令。
步骤6:重启samba服务
#service smbd restart