ubuntu 12.04安装配置samba

时间:2022-04-25 04:39:01
1、使用下列命令安装samba
sudo apt-get install samba

sudo apt-get install smbfs

注明:我使用如下命令安装

我们需要做的第一件事是安装Samba,你可以在Ubuntu软件中心搜索软件,然后安装。如果你想通过终端安装,可复制这个命令:

sudo apt-get install samba samba-common


2、创建一个文件夹

mkdir ~/UbuntuShare

sudo chmod 777 ~/UbuntuShare


3、添加一个用户

sudo useradd ShareUseName


4、配置samba
①备份一下配置文件
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


5、添加samba用户和密码
  sudo touch /etc/samba/smbpasswd
  sudo smbpasswd -a ShareUseName
  然后按照提示输入密码(假如:abc123)就好了。


6、重启samba服务器

sudo /etc/init.d/smbd restart


7、在其他电脑访问共享文件夹

①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所占用的端口是139445; 
[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