-
samba的编译安装20160615_1154.7z下载
资源介绍
http://www.linuxidc.com/Linux/2014-12/110459.htm
Samba-4.1.14服务器安装和配置
http://www.2cto.com/os/201408/327930.html
【Linux笔记】sambav4.1.9源码安装及基本使用说明
http://blog.sina.com.cn/s/blog_627617bf0101s4ps.html
samba4.1.6源代码部署及配置 (2014-04-04 09:41:00)转载
2016/6/14 15:23
由于ubuntu14.04.4麒麟版本使用:
sudo apt-get install samba安装的samba是:V4.3.9
共享文件时ubuntu上的samba V4.3.9会出错(崩溃)。
所以直接使用源码安装来共享文件了(从win7来访问ubuntu14.04.4麒麟版本)。
标签: samba linux资源共享 smb 分类: Samba
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
samba服务器搭建:
1.解压samba-4.1.6.tar.gz得到samba-4.1.6目录
tar -xvzf samba-4.1.6.tar.gz
2.进入samba-4.1.6目录,在该目录下输入:
./configure --prefix=/usr/local
sudo ./configure --prefix=/usr/local/samba-4.1.6
make
make install
sudo make install
注意:4.x版本的samba的build system是基于python的,必须安装有python2.5版本以上。(python3.x系列的不行)
如果系统没有符合条件的python版本,可以运行samba-4.1.6目录下的install_with_python.sh,会自动帮你安装python。(./install_with_python.sh /usr/local)
3.创建一个文件夹,用来共享文件
mkdir -p /home/fzuir/share
chmod 777 /home/fzuir/share
4.samba配置
将samba源码目录samba-4.1.6中的samba-4.1.6/examples/smb.conf.default复制到安装目录,一般是/usr/local/samba/etc/中
cp ~/samba-4.1.6/examples/smb.conf.default /usr/local/samba/etc/
修改配置文件
sudo vim /usr/local/samba/smb.conf
(1)修改samba服务器的安全模式,samba的安全模式有:(默认是user,不修改也可)
share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
domain:域安全级别,使用主域控制器(PDC)来完成认证。
修改方法:在配置文件中查找security=user,把前面的注释#去掉。
(2)添加文件共享定义信息
修改方法:在配置文件末尾添加如下内容:
[Share]
comment=Shared Folder
path=/home/fzuir/share
#public=yes(允许匿名访问)
writable=yes(可写)
#readonly=yes(只读)
valid users=fzuir (可访问用户名,组可用 @组名)
create mask=0700
directory mask=0700
available=yes
browseable=yes
[rootroot]
comment=rootroot Shared Folder
path=/
#public=yes
writable=yes
#readonly=yes
valid users=rootroot
create mask=0700
directory mask=0700
available=yes
browseable=yes
(3)修改编码
在[global]段内添加如下三行:
display charset=UTF-8
unix charset=UTF-8
dos charset=cp936
5.添加samba用户
添加fzuir这个网络访问账户,fzuir用户如果已存在则不用。
sudo useradd fzuir
上面只是新增了fzuir这个用户,却没有赋予本机登录密码,所以只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。
现在在samba中添加这个帐号
sudo /usr/local/samba/bin/smbpasswd -a fzuir
sudo /usr/local/samba-4.1.6/bin/smbpasswd -a fzuir
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$ sudo /usr/local/samba-4.1.6/bin/smbpasswd -a rootroot
Ignoring unknown parameter "display charset"
New SMB password:
Retype new SMB password:
Added user rootroot.
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$
6.测试并启动samba
sudo /usr/local/samba/bin/testparm
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$ sudo /usr/local/samba-4.1.6/bin/testparm
Load smb config files from /usr/local/samba-4.1.6/etc/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Unknown parameter encountered: "display charset"
Ignoring unknown parameter "display charset"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[rootroot]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
dos charset = cp936
workgroup = MYGROUP
server string = Samba Server
server role = standalone server
log file = /usr/local/samba/var/log.%m
max log size = 50
dns proxy = No
idmap config * : backend = tdb
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /usr/spool/samba
printable = Yes
print ok = Yes
browseable = No
[rootroot]
comment = rootroot Shared Folder
path = /
valid users = rootroot
read only = No
create mask = 0700
directory mask = 0700
cm04@cm-System-Product-Name:/usr/local/samba-4.1.6/etc$
重启samba:
sudo /usr/local/samba/sbin/smbd restart
sudo /usr/local/samba/sbin/nmbd restart
sudo /usr/local/samba-4.1.6/sbin/smbd restart
sudo /usr/local/samba-4.1.6/sbin/nmbd restart
7.在不同的系统之间访问samba
(1)windows下:在文件管理器地址栏中输入\\samba服务器IP 即可以查看共享文件夹或者打印机。
\\192.168.0.8
(2)linux下:
方法1:使用smbclient
客户机以同样方式安装samba
①列出某个IP地址所提供的共享文件夹
sudo /usr/local/samba/bin/smbclient -L 192.168.0.1 -U username%password
②使用smbclient获取共享文件
sudo /usr/local/samba/bin/smbclient //192.168.0.1/Share -U username%password
执行成功后进入smbclient环境,出现命令提示符:smb:\>
这里可使用的命令有:
?:列出所有可用命令
cd:进入共享文件目录
del:删除某个文档
lcd:变换本机目录
ls:查看目前所在目录
dir:同ls
get:下载单个文件
mget:下载多个文件
mput:上传多个文件
put:上传单个文件
rm:删除文件夹
exit:离开
方法2:使用mount进行挂载
可以使用mount挂载远程共享文件夹:
sudo mount -o username=fzuir,password=123456 //192.168.0.1/Share /mnt/tmp
- 上一篇: FPC-FFC 集成库
- 下一篇: 【C++】3D模型深度测试demo by浅墨