Linux下安装samba,实现和windows文件共享

samba适合内网文件共享。本教程适合ubuntu/Fedora系统。

1、查看是否已安装。

# rpm -q samba

package samba is not installed

2、使用yum查询软件包

#yum list samba (查询软件包,得到可安装的软件包: samba.i686)

3、使用yum安装 (一路选yes安装完成)

# yum install samba.i686


启动

service iptables stop

service smb start

service nmb start

smbd进程的作用是处理SMB请求包(139端口),负责验证和文件共享(重要)。nmdb(137 138端口)

systemctl


配置:

查询安装了哪些软件包。

#rpm -qa|grep samba

找配置文件,到common的软件包。

#rpm -q| samba-common-4.0.3.2 | grep smb.conf

找到了:/etc/samba/smb.conf


备份一下:

#cp samba.conf samba.conf.bak

【global】 全局

workgroup= 指定工作组或域

server string = 描述

security = 指定安全模式 (share 无权限验证,user 有服务器验证(默认))

hosts allow = 限定主机访问 (哪些主机可以访问,哪些用户)

使用ip网段 例如: 162.1.2.

log file = 指定日志文件存放位置


具体配置:

带 ; 分号开头的注释是有效配置,就是说把分号去掉,在做写修改就行了。

1、配置hosts

我的配置,允许10.5.82. 网段的

hosts allow = 10.5.82.

2、security 大家可以自定义配置

【home】段, 共享用户的宿主目录

comment = 描述

browseable = no (没有权限访问的目录,不可见)

writable = yes


3、需要先添加用户:

adduser sambatest

添加的samda用户必须是系统用户。


assdb backend = tdbsam passdb backend即用户后台。有三种后台:smbpasswd、tdbsam和ldapsam。
Sam即security account manager。
1. smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。
2. tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:
pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户账号。
pdbedit –c “[]” –u username:恢复该Samba用户账号。
3. ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdb backend = ldapsam:ldap://LDAP Server”


通过windows来访问:

在运行中输入:\\linux地址

\\192.168.175.130

会弹出对话框,输入用户名和密码。


登录成功后如果不能访问:

#setsebool -P samba_enable_home_dirs on



	
[global]
	
	workgroup = MYGROUP
	server string = Samba Server Version %v
	
;	netbios name = MYSERVER
	
;	interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
	hosts allow = 127. 192.168.12. 192.168.13. 10.5.82. 192.168. 10.5.
	
	# logs split per machine
	log file = /var/log/samba/log.%m
	# max 50KB per log file, then rotate
	max log size = 50
	

	security = user
;	passdb backend = tdbsam


	
	
;	security = domain
;	passdb backend = tdbsam
;	realm = MY_REALM

;	password server = <NT-Server-Name>

;	security = user
;	passdb backend = tdbsam
	
;	domain master = yes 
;	domain logons = yes
	
	# the login script name depends on the machine name
;	logon script = %m.bat
	# the login script name depends on the unix user used
;	logon script = %u.bat
;	logon path = \\%L\Profiles\%u
	# disables profiles support by specifing an empty path
;	logon path =          
	
;	add user script = /usr/sbin/useradd "%u" -n -g users
;	add group script = /usr/sbin/groupadd "%g"
;	add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u"
;	delete user script = /usr/sbin/userdel "%u"
;	delete user from group script = /usr/sbin/userdel "%u" "%g"
;	delete group script = /usr/sbin/groupdel "%g"
	
	
;	local master = no
;	os level = 33
;	preferred master = yes
	
	
;	wins support = yes
;	wins server = w.x.y.z
;	wins proxy = yes
	
;	dns proxy = yes
	
	
	load printers = yes
	cups options = raw

;	printcap name = /etc/printcap
	#obtain list of printers automatically on SystemV
;	printcap name = lpstat
;	printing = cups


;	map archive = no
;	map hidden = no
;	map read only = no
;	map system = no
;	store dos attributes = yes


	
[homes]
	comment = Home Directories
	browseable = no
	writable = yes
;	valid users = %S
;	valid users = MYDOMAIN\%S
	
[printers]
	comment = All Printers
	path = /var/spool/samba
	browseable = no
	guest ok = yes
	writable = yes
	printable = yes
	
;	[netlogon]
;	comment = Network Logon Service
;	path = /var/lib/samba/netlogon
;	guest ok = yes
;	writable = no
;	share modes = no
	
	
;	[Profiles]
;	path = /var/lib/samba/profiles
;	browseable = no
;	guest ok = yes
	
	
;	[public]
;	comment = Public Stuff
;	path = /home/samba
;	public = yes
;	writable = yes
;	printable = no
;	write list = +staff

[myshare]
comment = gaotong's files
path = /home/share
public = yes
wirtable = yes
printable = no


你可能感兴趣的:(windows)