sudo apt-get install samba
sudo apt-get install smbfs
注明:我使用如下命令安装
我们需要做的第一件事是安装Samba,你可以在Ubuntu软件中心搜索软件,然后安装。如果你想通过终端安装,可复制这个命令:
sudo apt-get install samba samba-common2、创建一个文件夹
mkdir ~/UbuntuSharesudo chmod 777 ~/UbuntuShare
sudo useradd ShareUseName
①备份一下配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
②用vim编辑配置文件
sudo vim /etc/samba/smb.conf
③添加配置信息
[Share]
path = ~/UbuntuShare
available = yes
browseable = yes
public = yes
writable = yes
valid users = ShareUseName
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a ShareUseName
然后按照提示输入密码(假如:abc123)就好了。
6、重启samba服务器
sudo /etc/init.d/smbd restart7、在其他电脑访问共享文件夹
①windows下windows的文件夹中输入
\\samba电脑的IP\Share
②Linux下
在命令行中输入
mount //samba电脑的IP/Share /media/ -o username= ShareUseName,password=abc123
这样就可以共享啦。
8, 关闭防火墙或允许smbd端口:
sudo ufw disable
连接上后如果有必要就打开防火墙~
下面是查看Samba服务器的端口及防火墙;
查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445;
[root@localhost ~]#sudo netstat -tlnp |grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN10639/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN10639/smbd
[root@localhost ~]#sudo ufw allow 139
[root@localhost ~]#sudo ufw allow 445
[root@localhost ~]#sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
139 ALLOW Anywhere
445 ALLOW Anywhere
22 ALLOW Anywhere (v6)
139 ALLOW Anywhere (v6)
445 ALLOW Anywhere (v6)
9,配置动态链接库路径
# vi /etc/ld.so.conf
加入一行/usr/$home$//install/samba/lib
# ldconfig 不是i的大写而是L的小写
执行ldconfig命令让配置生效
10,加入开机启动项将下面这段写入/etc/rc.local
/usr/$home$/install/samba/sbin/nmbd start
/usr/$home$/install/samba/sbin/./smbd start
如果从源代码安装,请结合:http://blog.csdn.net/moonsbird/article/details/3722616
http://www.codesky.net/article/201104/174527.html
获取samba源代码
你可以通过执行svn命令svn co svn://svnanon.samba.org/samba/trunk samba.获取最新的samba源文件,也可以直接从http://samba.org/samba/ftp/samba-latest.tar.gz 获取最新的samba源文件包。
解包源文件包
如果你选择下载samba-latest.tar.gz源代码包,则需要使用以下命令进行解包
# tar -xzvf samba-latest.tar.gz
编译安装
# cd samba-3.4.2/source3
source3目录里是samba-3.x的源文件,source4目录里是samba-4.x的源文件
# ./autogen.sh
# ./configure --prefix=/usr/$home$/install/samba
samba默认是安装在/usr/local/samba目录下,你可以通过指定prefix=your location的方式来指定安装目录
# make
# make install
配置动态链接库路径
# vi /etc/ld.so.conf
加入一行/usr/$home$//install/samba/lib
# ldconfig 不是i的大写而是L的小写
执行ldconfig命令让配置生效
配置samba
第一步: 新建smb.conf
# touch /usr/$home$/install/samba/lib/smb.conf
我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹
然后把下面这段写入smb.conf中;
[global]
workgroup = Linuxidc
netbios name = Linuxidc05
server string = Linux Samba Server TestServer
security = share
[linuxidc]
path = /smb_server
writeable = yes
browseable = yes
guest ok = yes
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是Linuxidc (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[Linuxidc] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok 匿名用户以guest身份是登录;
第二步:建立相应目录并授权;
[root@localhost /]# mkdir smb_server
[root@localhost /]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost /]# chown -R nobody:nobody /smb_server
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody源码天空,我们要以这个为准。有些系统nobody用户组并非是nobody ;
检验samba是否安装成功
执行testparm
# /usr/$home$/install/samba/bin/testparm
如果没有任何错误,那么恭喜你,samba已经安装成功了
启动samba
# /usr/$home$/install/samba/sbin/nmbd start
# /usr/$home$/install/samba/sbin/./smbd start
加入开机启动项将下面这段写入/etc/rc.local
/usr/$home$/install/samba/sbin/nmbd start
/usr/$home$/install/samba/sbin/./smbd start
详细请参考:http://www.codesky.net/article/201104/174527.html
参考:http://blog.chinaunix.net/uid-27666459-id-4173016.html
http://blog.sina.com.cn/s/blog_71c19c620100q2pk.html