您的位置:首页 > 运维架构 > Linux

linux samba 配置

2015-06-20 11:33 429 查看
Samba

Windows文件共享
Windows主机之间使用SMB/CIFS网络协议实现文件和打印资源的共享
Windows无法与UNIX/Linux主机之间实现资源共享
Samba服务器 Samba服务器在UNIX系统中实现了SMB/CIFS协议
通过Samba服务可以实现UNIX/Linux主机与Windows主机之间的资源互访

特点:
必须是系统用户,但使用独立密码访问
默认安装samba并添加用户(smbpasswd -a 用户名),即可访问自己的宿主目录(可读写)。

一、samba的安装
查看是否安装了samba
rpm-q samba
查到samba-3.0.33-3.28.el5说明已安装

默认安装了客户端:
rpm -qa | grep samba
samba-client-3.0.33-3.28.el5
samba-common-3.0.33-3.28.el5

安装
yum -y install samba

启动服务
/etc/rc.d/init.d/smb start

service smb start

两个进程:
smbd ---> tcp 139 用户验证和文件共享
nmbd --->udp 137 138 浏览共享和计算机名解析

ps -le | grep smbd
ps -le | grep nmbd

一、用户管理
1.首先必须是系统用户,添加Linux系统用户
useradd用户名 #添加用户
passwd用户名 #设置密码

2.然后设置samba的密码(samba自带的用户管理工具)
smbpasswd-a 用户名 #加用户
smbpasswd用户名 #改smb密码

root可以使用管理命令(系统自动的samba用户数据库管理工具)
pdbedit-a username:新建Samba账户。
pdbedit-x username:删除Samba账户。
pdbedit-L:列出Samba用户列表,读取/etc/samba/passdb.tdb数据库文件。
pdbedit-Lv:列出Samba用户列表的详细信息。

二、建立samba连接
为了安全,不要把root设为samba用户

重启服务
service smb restart

Windows中如何连接:

\\服务器地址
\\192.168.88.88
可以映射网络驱动器

net use
net use * /del /y
net use \\192.168.88.88"password" /user:your_user

查看有哪些客户端连接
smbstatus

查看日志
cat/var/log/samba

------------------------------
如果不能访问:
防火墙
iptables-L 查看
iptables-F 清空防火墙规则,拆除防火墙

即时生效,重启后复原
serviceiptables stop

永久性生效,重启后不会复原
chkconfigiptables off

SELinux
允许访问
setsebool-P samba_enable_home_dirs on
或完全禁用SELinux:
vi/etc/selinux/config 改为SELINUX=disabled

三、配置文件
如果查找配置文件在哪里
rpm -ql samba-common | grep smb.conf

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

[global] 全局环境选项
workgroup 工作组或域
serverstring 描述信息
security 安全模式,有如下选项
share 不验证权限,直接共享
user缺省,推荐,由LinuxSamba服务器做验证
server 第三方主机验证
domain 第三方主机验证(必须是Windows 域控制器)
hostsallow 哪些主机可以访问(如果没有配置,全部主机都可以)
如果是ip直接写上,如果是ip段只写网段部份,多个用空格分隔如: 192.168.1. 192.168.2.
哪些主机不允许访问,hosts deny 一般不和hosts allow同时使用
logfile 日志文件(最好启用日志)

[homes] 只要有这个配置段,用户默认就可以通过自己的用户名,访问自己的宿主目录
comment 描述
browseable=no 无权限访问的目录,不显示出来
writable=yes 可写

[自定义的共享1]
[自定义的共享2]

四、samba实例
需求:配置/software目录的共享,允许user1 user2两个用户完全访问

创建目录
mkdir/software

添加用户
useradduser1
passwduser1
useradduser2
passwduser2
添加samba密码
pdbedit-a user1
pdbedit-a user2

编辑配置文件
vi/etc/samba/smb.conf
建议写在配置文件尾
[software] 共享名,不能有特殊符号,一般是字母或数字组成
path= /software 共享目录,只能是一个目录
validusers = user1 user2 多个用空格分开。如果没配置此项,所有用户都可以访问
writable= yes 写权限 yes no

Samba服务器配置检测命令
testparm
如果配置文件写错,例valid users=user1 写成了validuser=user1 将提示

重启服务
/etc/rc.d/init.d/smbrestart

设置目录权限

直接改为777,但这样不安全
chmod-R 777 /software

创建一个用户组,改变目录所属组,对组授权,然后从新连接就可以了
groupaddsoftadmin
usermod-aG softadmin user1
usermod-aG softadmin user2
chgrpsoftadmin /software
chmodg+w /software

推荐用acl
setfacl-R -m u:user1:rwx /software #让user1有rwx权限 (已有目录或文件)
setfacl-R -m d:u:user1:rwx /software #让以后新创建的文件或目录,user1也有rwx权限
setfacl-R -m u:user2:rwx /software
setfacl-R -m d:u:user2:rwx /software

windows 下,重新连接
netuse * /del /y
netuse \\192.168.88.88 "password" /user:your_user

提供一个共享目录,所有有户都能使用,却不能删除别人的文件
[test]
path = /test
wrieable=yes
然后,设置目录为 chmod 1777 /test

五、扩展
Linux之间使用samba
问题:如何在linux中使用SAMBA服务器的共享目录?
解答:mount //192.168.88.88/software /mnt/software -o username=your_user
>输入密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux samba 配置