ubuntu安装Samba

来源:互联网 发布:python调用python脚本 编辑:程序博客网 时间:2024/05/23 02:05

-----------------------------------------------------------------------------------------------

http://www.cnblogs.com/phinecos/archive/2009/06/06/1497717.html

-----------------------------------------------------------------------------------------------

#一. samba的安装:
一. samba的安装:
sudo apt-get insall samba
sudo apt-get install smbfs
二. 创建共享目录:


mkdir /home/phinecos/share   [phinecos linux用户]
sodu chmod 777 /home/phinecos/share
mkdir /home/john/share    //如果配置的共享目录不存在则创建 
chown -R nobody. /home/john/share    //设置共享目录归属为 nobody 
sudo chmod 777 /home/john/share    //将共享目录属性设置为 777 
说明:john为你的ubuntu的用户名;share你可以随便起个名字做为共享文件夹 
三. 创建Samba配置文件:


1. 保存现有的配置文件


sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2. 修改现配置文件


sudo gedit /etc/samba/smb.conf
在smb.conf最后添加
[share]   //[是你共享的文件夹名称,不一定是share]
      path = /home/phinecos/share
      available = yes
      browsealbe = yes
      public = yes
      writable = yes
四. 创建samba帐户


  sudo touch /etc/samba/smbpasswd
  sudo smbpasswd -a phinecos  ,然后会要求你输入samba帐户的密码
 [如果没有第四步,当你登录时会提示 session setup failed: NT_STATUS_LOGON_FAILURE]


smbpasswd 命令的用法:
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)   
smbpasswd -d 冻结用户,就是这个用户不能在登录了   
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用   
smbpasswd -n 把用户的密码设置成空.   
要在global中写入 null passwords -true   
smbpasswd -x  删除用户   

 五. 重启samba服务器


sudo /etc/init.d/samba restart
六. 测试
smbclient -L //localhost/share
七,使用


可以到windows下输入ip使用了,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share"




----------------------------------------------more detail:--------------------------------------------------------------------------------
一. samba的安装: 


sudo apt-get insall samba      // (sudo get temp root auth) 
sudo apt-get install smbfs     //旧版本 
sudo apt-get install cifs-utils //新版本 
上面的命令将会安装Samba和其他相关的工具。在旧版的Ubuntu中,你可能需要使用 smbfs替代 cifs-utils。 
sudo apt-get install samba-common 


二. 创建共享目录: 


1、系统用户home目录下: 
mkdir /home/john/share    //如果配置的共享目录不存在则创建 
chown -R nobody. /home/john/share    //设置共享目录归属为 nobody 
sudo chmod 777 /home/john/share    //将共享目录属性设置为 777 
说明:john为你的ubuntu的用户名;share你可以随便起个名字做为共享文件夹 


2、普通目录下: 
如创建/mydir/private 和 /mydir/public 目录 ( 注意权限问题,不然导致不能访问) 
mkdir -p /mydir/{private,public} 
chown -R nobody.nogroup /mydir 
chmod -R 777 /mydir 


三. 创建Samba配置文件: 


1. smb.conf部分配置说明 


[global] 
server string = Samba Server Version %v 
passdb backend = tdbsam 
cups options = raw 
security = user                            //认证模式为User 
map to guest = bad user            //这个很关键,实现匿名无须交互输入用户名和密码就靠它了 
guest account = guest               //匿名用户映射为guest用户 


[myshare] 
comment = My share 
path = /home/public                       //共享路径 
browseable = Yes                          //可以被浏览,就是在网络邻居中能看到共享名 
read only = No                               //可读写 
guest ok = Yes                               //允许匿名访问,这个也需要设置,否则匿名无法访问 
valid users = samba liuag guest    //有效的用户和组 
invalid users = liuben                     //无效用户和组    
read list = samba                           //只读用户和组(如果read only = No,只读用户需要在此设置) 
write list = liuag                             //可读写用户和组(如果read only = Yes,可读写用户需要在此设置) 
allow hosts = 192.168.100.236     //允许访问主机列表,支持通配符 
deny hosts = 192.168.100.0/24    //禁止访问主机列表,支持通配符 


示例: 
[global] 
    workgroup = WORKGROUP 
    server string = samba server on ubuntu 
    netbios name = ubuntu_smb 
    interfaces = 127.0.0.0/8 eth0 
    hosts allow = 192.168.1. 192.168.163. 192.168.153. 
    security = user 
    username map = /etc/samba/smbusers 
    encrypt passwords = true 
    passdb backend = smbpasswd 
    smb passwd file =/etc/samba/smbpasswd 
    log file = /var/log/samba/log.%m 
    max open files = 1000 
    socket options = TCP_NODELAY 


;[homes] 
;   comment = home directories 
;   browseable = no 
;   writable = yes 
;   valid users = %S 
;   create mode = 0664 


;[printers] 
;   printable = Yes 
;   browseable = No 
;   path = /var/spool/samba 


[code] 
    comment = code    //comment是对该共享的描述,可以是任意字符串。 
    path = /home/songyd/code 
    writable = yes 
    browseable = yes 
    available = yes 




2. 保存现有的配置文件 
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 


3.修改现配置文件 
sudo gedit /etc/samba/smb.conf 
在smb.conf最后添加 


示例一: 
[share] 
path = /home/john/share 
available = yes 
browseable = yes 
public = yes 
writable = yes 
valid users = myname 
create mask = 0700 
directory mask =0700 
force user =nobody 
force group = nogroup 


说明:valid users = myname 这个myname是自己起的,后面在添加用户名时就是添加的这个; 
另外这个 [share] 名字也是可以随便起的,这个是你在windows下访问时显示的名字; 
在windows下 \\162.168.160.11\share就可以访问linux下/home/god/ code目录下的内容了; 
其中162.168.160.11是你linux的IP地址,用ifconfig就可以查看到。 


示例二: 
[www]   
path = /home/test/www 
available = yes   
browseable = yes   
public = yes   //允许匿名用户登录 
writable = yes 


说明:public 指明该共享资源是否能给游客帐号访问,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的。 


然后顺便把这里改一下,找到[global]把 workgroup = MSHOME改成 :(注意,这里的WORKGROUP是共享中的工作组名称) 代码:(如果没有也可加上去) 


workgroup = WORKGROUP 
display charset = UTF-8 
unix charset = UTF-8 
dos charset = cp936 


后面的三行是为了防止出现中文目录乱码的情况。 


四. 创建samba帐户 : 


现在要添加 myname这个网络访问帐户。如果系统中当前没有这个帐户(也可以用系统中己存在的账户如root,god),那么代码: 


sudo useradd myname 


上面只是增加了 myname这个系统用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。这个你可以在重启机器时看到这个你添加的用户,但是你却用它登陆不了系统,因为没有赋予本机登录密码。 


sudo touch /etc/samba/smbpasswd  
sudo smbpasswd -a myname 


(如果你直接用系统中的账号,这里myname就是你系统中的账户即可)然后会要求你输入samba帐户的密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码。 


删除网络使用者的帐号的命令把上面的 -a 改成 -x 即: sudo smbpasswd -x myname 


smbpasswd 命令的用法 


smbpasswd -a 增加用户(要增加的用户必须以是系统用户)   
smbpasswd -d 冻结用户,就是这个用户不能在登录了   
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用   
smbpasswd -n 把用户的密码设置成空.   
             要在global中写入 null passwords -true   
smbpasswd -x  删除用户  




五. 用户账号映射 : 


samba的用户帐号信息是保存在smbpasswd文件中滴,而且可以访问samba服务器的帐号也必须对应一个同名的系统帐号。基于这 一点,所以,对于一些hacker来说,只要知道samba服务器滴samba帐号,就等于是知道了Linux系统帐号,只要crack其samba帐号密码加以利用就可以攻击samba服务器。所以我们要使用用户帐号映射这个功能来解决这个问题。 


用户帐号映射这个功能需要建立一个帐号映射关系表,里面记录了samba帐号和虚拟帐号的对应关系,客户端访问samba服务器时就使用虚拟来登录。 


1)编辑主配置文件vi /etc/samba/smb.conf 
在global下添加一行字段username map = /etc/samba/smbusers开启用户帐号映射功能。 


2)编辑 vi /etc/samba/smbusers 
smbusers文件保存帐号映射关系,其有固定滴格式: 
samba帐号 = 虚拟帐号(映射帐号) 


myname = networkusername 


帐号myname就是我们上面建立的samba帐号(同时也是Linux系统帐号),networkusername就是映射的帐号名(虚拟帐号),帐号 myname在我们访问共享目录时只要输入networkusername就可以成功访问了,但是实际上访问samba服务器的还是我们的myname帐号,这样一来就解决了安全问题。 


3)重启samba服务:service smbd restart 


4)验证效果 
输入我们定义的映射帐号networkusername,注意我们没有输入帐号myname,映射帐号networkusername的密码和myname帐号一样,现在就可以通过映射帐号浏览共享目录了。 


六. 重启samba服务器 : 


sudo testparm   验证一下配置参数有没有问题,如果有问题在回去修改 


sudo /etc/init.d/samba restart  (不知为什么,我的这个目录下就是没有这个,用这个命令总是报错)  


service samba restart 
service smbd restart 


七. 测试: 


smbclient -L //localhost/share 或者  
smbclient -L \\127.0.0.1 -U myname //这时输入的密码就是你刚才设置的samba密码 


八. 使用 : 


可以到windows下输入ip使用了,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share"; 
我的即为:\\162.168.160.11\share(share就是刚才smb.conf中的[share])第一次进入时要输入用户名和密码,这个就是你在第四步中设置的用户名和密码。


九. samba的卸载:


dpkg -l |grep samba 
dpkg -l |grep smbfs 
dpkg -l |grep smb 


apt-get remove samba\smbfs\smb




ubuntu12.04samba服务器配置




系统平台:VMware Workstation9.0 + ubuntu12.04


首先要解决windows和linux网络连接问题:
在VMware Workstation9.0 “设置” 选项中,设置"网络"
网络连接1   选中“启用网络连接” 方式:NAT
网络连接2 选中“启用网络连接” 方式:Bridged Adapter


启动ubuntu,查看IP地址: #ifconfig eth0   
注:你的LINUX里面可能有两块网卡eth0和eth1,分别看一下他们的IP地址,有一个是和你的WINDOWS本地连接IP地址在一个网段的(以后就使用这个IP地址登录samba,也是挂载NFS服务器的IP)


再说一下关于IP地址的配置(以我自己的电脑举例):
 我是用ADSL拔号上网,windows本地连接的IP地址是自动获取的,IP为:192.168.1.45
 查一下linux下eth0的IP为:10.0.2.15;eth1的IP为192.168.1.42
 那eth1即为linux的本地连接的IP地址,也就是samba服务器的IP地址


关闭LINUX防火墙命令: #ufw disable


注:ufw是linux下的防火墙操作命令,相关的操作可以查看命令帮助


然后就在windows下ping一下linux的IP,如果能ping通,就可以继续下面的内容,如果ping不通就再找找原因


注:ubuntu 12.04已经安装了最新版本的samba服务器,无需安装。如果使用12.04以前的版本,最好是按下边的方法升级一下samba,12.04版本无需下列操作


卸载samba,smbclient,samba-common 
$sudo apt-get remove samba-common
$sudo apt-get remove smbclient
$sudo apt-get remove samba


安装Ubuntu samba服务器:
sudo apt-get install samba
sudo apt-get install smbfs


开始配置:


samba配置文件: /etc/samba/smb.conf
可以修改配置文件来设置samba共享和用户
如果不习惯使用配置文件,也可以使用图形界面


安装Ubuntu samba图形管理界面
#sudo apt-get install system-config-samba


启动samba图形管理界面
#sudo system-config-samba


也可以选择菜单: system->Administration->Samba


配置方法和RedHat9中一样
选择要共享的目录 设置读写权限 设置访问权限 添加samba用户








配置完成后要重启samba
#sudo /etc/init.d/smbd restart

-----------------------------------------------------------------------------------------------

http://www.linuxidc.com/Linux/2011-07/38996.htm

-----------------------------------------------------------------------------------------------

1. Samba软件包的安装
使用源安装,在终端中输入如下命令:

#sudo apt-get install samba
#sudo apt-get install smbclient

2. Samba服务器的启动、关闭和重启

启动Samba服务器只需执行如下命令:
#sudo /etc/init.d/samba start

关闭Samba服务器:
#sudo /etc/init.d/samba stop

重新启动Samba服务器:
#sudo /etc/init.d/samba restart


启动Samba服务器后,可以使用ps命令查看进程:
#ps -aux

可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中, 主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进 程是随着smbd进程启动而启动。

3. 配置Samba服务

Samba服务器主要配置文件为/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中。

(1)在Windows系统中不用输入密码访问Linux共享目录
在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/myth/share目录,要在 Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.10,进行 如下操作:
#mkdir /home/myth/share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做个备份
#vim /etc/samba/smb.conf   
或者使用 sudo gedit /etc/samba/smb.conf 打开配置文件
将文件中的内容做如下相应修改:
#security=user 后面添加:
security=share
在文件结尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/myth/share
public=yes
writable=yes

保存退出,启动Samba服务:
#/etc/init.d/samba start

设置完成!

在Windows 下访问共享目录,可点击运行,输入
\\192.168.0.10\share

这样就能以匿名用户访问共享目录share了。

关于Windows下无写权限:chmod -R go+rwx share/


-----------------------------------------------------------------------------------------------

sorce:http://www.crifan.com/resolved_through_the_window_in_the_samba_share_on_ubuntu_out_of_the_file_does_not_have_write_permissions_to__can_not_be_modified/

-----------------------------------------------------------------------------------------------

【已解决】window中对ubuntu通过samba共享出来的文件没有写权限/无法修改

【问题】

已经实现了Ubuntu 10.10下,通过Samba共享出来文件夹,在Windows下面,已经实现了可以正常访问,读取文件或文件夹了。

但是却发现没有写入的权限。从ubuntu共享出去的文件,只允许一个叫做tq2440的用户访问。

【解决过程】

1.最容易想到的原因就是smb的配置是否正确了,但是我这里确保我的配置是正确的,是通过samba的图形界面配置的,的确勾选了可写入的那个选项的,而且共享出来的共3文件夹,其中一个文件夹也的确是可以写入的,但是另外两个文件夹不可以写入而已。所以肯定不是这个原因。

2.网上说有关于SELinux的问题,而我此处的ubuntu都没有装它,所以执行getsebool,都会提示如下内容:

 crifan@crifan-ubuntu10:~/develop$ getsebool
程序“getsebool”尚未安装。  您可以使用以下命令安装:
sudo apt-get install selinux-utils

所以,此处肯定不是这个原因。

3.有人在这里:

http://www.linuxdiyf.com/bbs/thread-166768-1-1.html

提到了文件所属于哪个用户的问题:

“linux文件系统的权限设置是个前提, 无论samba的访问权限怎么设置, 用户在linux中无权访问的文件在samba中也肯定是不能访问的.”

而当前这些文件都是我的root用户crifan所建立的,但是共享出去给tq2440的用户访问,所以觉得貌似可能是这个原因。

所以想到去ubuntu下面改一下文件所属的用户,试试是否可行:

crifan@crifan-ubuntu10:~/develop$ pwd
/home/crifan/develop

crifan@crifan-ubuntu10:~/develop$ ls
EABI-4.3.3_EmbedSky_20091210.tar  tq2440u
crifan@crifan-ubuntu10:~/develop$ sudo chown -hR tq2440 tq2440/

即,把共享出去的tq2440文件夹及其下面所有文件所属的用户从原先的crifan改成tq2440,然后再去windows下面重新访问,的确就可以实现写write的操作了。

看来此处问题原因就是这个文件/文件夹所属用户权限不正确,导致无法写入的。

【后记 2011-04-02】

前面已经实现了从windows中修改ubuntu中的文件了,但是还是有个问题。

本身,我从ubuntu中共享出去的目录是tq2440/ ,但是是用crifan用户创建的,但是我共享出去的tq2440/文件夹,是给一个叫做tq2440的用户所共享的,现在我虽然可以在windows下面对tq2440文件夹的上层文件夹develop进行写入操作,但是却无法对tq2440目录及下面的文件进行修改。

后来,通过chown命令,将tq2440文件夹及下面文件的所有者owner都改为tq2440用户:

chown -hR tq2440 tq2440/

虽然可以实现需要的效果,即,从windows上可以修改qt2440目录及其下的文件了,但是回到ubuntu下,用现在登录的crifan用户去tq2440目录下面操作,却无法进行写入修改等操作了,所以很是郁闷。

然后想到,是不是可以将crifan和tq2440两个用户都设置到一个组里面,然后给该组设置权限为可以修改。

然后就去尝试,新建了一个组叫做develop,然后把crifan和tq2440都加入到该组中。然后去设置tq2440目录的组为develop:

chown -hR crifan:develop qt2440/

但是,结果去windows下面尝试,结果还是没有写的权限。

【后记 2011-04-03】

后来经过尝试,先去 系统 -> 系统管理 -> 用户和组,把crifan和tq2440两个用户都设置为develop组,

然后再去把tq2440的用户权限添加为 同组用户也有读和写的权限:

sudo chown -hR crifan:develop tq2440/

这样设置才是正确的,然后tq2440的用户,在windows下访问Ubuntu中通过samba共享出来的tq2440的文件夹,就也可以写入了。

最后,经过折腾,还是通过修改组和其他用户的操作权限才解决次问题:

chmod -R go+rwx qt2440/

其中:

-R recursive,递归模式,修改该文件夹及其下所有文件和文件夹

go g是group组,o是other其他用户

+ 是添加权限

rwx r是read读,w是write写,x是execute执行

这样,就可以针对tq2440及其下所有文件都改成了,不仅创建者crifan自己可以修改,同组的其他用户和其他的用户,都可以有写的权限了:

crifan@crifan-ubuntu10:~/develop$ chmod -R ga+rwx tq2440/ 
crifan@crifan-ubuntu10:~/develop$ ls -l
总计 499128
drwxrwxrwx 3 crifan develop      4096 2011-04-01 21:16 tq2440

【引用】

http://hanyuanbo.iteye.com/blog/751199

关于ls,chmod,chown等命令的具体解释:

1. 终端的最基本操作 
ls          # 显示当前文件夹下的内容 
-a -l -R -d #所有文件 /详细信息/递归的显示所有目录和文件/不递归 
cd .. / –  # 进入上/上一次 文件夹 
mkdir cp rm rmdir rm -r  vim chmod pwd mv #  创建文件夹  复制/删除/删除空文件夹/删除文件夹  编辑/改变权限/查看当前目录/移动文件 
mv 文件名 新文件名  #重命名

其中的一些介绍 
ls -l  #显示的内容意思 
这是第一列的意义: -l连接文件 
-d目录文件 
-普通文件 文本文件和二进制文件 
[bcp]特殊文件(即b或c或p) 
这是第二列到第十列的意思: 读写执行权限 
-   rwx  rwx rwx  2  root  root 1234  Jun 26 11:21  test.txt 
1  2     3     4    5    6      7      8       9                   10 
1. 文件的类型 
2. 拥有者对该文件的权限(read write execute) 
3. 群组对该文件的权限 
4. 其他人对该文件的权限 
5. 与该文件[夹]的连接数目 
6. 拥有者的用户名 
7. 群组的名称 
8. 文件大小 
9. 创建日期 
10. 文件[夹]名称

2. 改变权限的命令: 
1. chmod [-R] 750  filename/filelist 则是 111 101 000 改变各个用户的权限。如: chmod 755 /usr/local/*  将该文件夹下的文件赋予755权限 
2. chmod [-R] [ugoa] [+-=] [rwx] filename/filelist 

 

http://www.opensourceproject.org.cn/article.php?id=456

Symbolic Mode

The format of a symbolic mode is `[ugoa…][[+-=][rwxXs­tugo…]…][,…]’.

Multiple symbolic operations can be given, separated by commas.

A combination of the letters `ugoa’ controls which users‘ access to the file will be changed:

The user who owns it (u)
Other users in the file’s group (g)
Other users not in the file’s group (o)
All users (a)

If none of these are given, the effect is as if `a’ were given, but bits that are set in the umask are not affected.

all users (a) is effectively 
user + group + others

The operator ‘+’ causes the permissions selected to be added to the existing permissions of each file; ‘-‘ causes them to be removed; and ‘=’ causes them to be the only permissions that the file has.

The letters ‘rwxXstugo’ select the new permissions for the affected users:

Read (r), 
Write (w), 
Execute (or access for directories) (x), 
Execute only if the file is a directory or already has execute permission for some user (X), 
Set user or group ID on execution (s), 
Save program text on swap device (t), 
The permissions that the user who owns the file currently has for it (u), 
The permissions that other users in the file’s group have for it (g), 
Permissions that other users not in the file’s group have for it (o).


-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-22788794-id-1769241.html

-----------------------------------------------------------------------------------------------


-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-22788794-id-1769241.html

-----------------------------------------------------------------------------------------------


-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-22788794-id-1769241.html

-----------------------------------------------------------------------------------------------


-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-26527046-id-4338338.html

-----------------------------------------------------------------------------------------------

 Ubuntu 14.04 samba安装 2014-07-03 18:19:36

分类: LINUX

1. 安装 samba

点击(此处)折叠或打开

  1. [martin@~]$ sudo apt-get install samba
  2. [martin@~]$ sudo apt-get install cifs-utils
  3. [martin@~]$ sudo apt-get install samba-common
其中第三步不明确是否必须。反正我有安装

2. 创建共享的目录

点击(此处)折叠或打开

  1. [martin@~]$ mkdir /home/martin/samba_share
  2. [martin@~]$ sudo chmod 777 samba_share/

3. 修改配置 samba

点击(此处)折叠或打开

  1. [martin@~]$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
  2. [martin@~]$ sudo vim /etc/samba/smb.conf
在其最后添加

点击(此处)折叠或打开

  1. [share]
  2.     path = /home/martin/samba_share
  3.       available = yes 
  4.       browseable = yes 
  5.       public = yes 
  6.       writable = yes
以上的配置中,在windows下映射网络驱动盘时候可以不用用户名和密码,默认使用”nobody“用户
这样带来一个问题就是,在windows和linux下会因为用户问题导致文件夹或者文件的访问权限问题

可以配置samba来实现windows下使用和linux下相同的用户,只需要修改以上 public=no
对于我的配置,为了让在windows下使用martin登陆,还需要上述的配置中添加martin到 smb的用户组中
sudo smbpasswd -a martin
来添加martin到 smb用户组,同时设置登陆密码

4. 创建配置用户

点击(此处)折叠或打开

  1. [martin@~]$ sudo adduser msamba
  2. [martin@~]$ sudo touch /etc/samba/smbpasswd
  3. [martin@~]$ sudo smbpasswd -a msamba
以上会需要根据自己的实际情况修改用户名和共享目录名

5. 重启samba

点击(此处)折叠或打开

  1. [martin@~]$ sudo service samba restart
  2. [martin@~]$

6. window下可以使用文件夹来访问 samba或者直接映射网络驱动器

如果是文件夹来访问,直接在地址中输入“//172.22.102.56"就可以看到 share文件夹了

如果是要直接映射,选择 工具-> 映射网络驱动器-> 文件夹中输入” //172.22.102.56/share"(该处需要填写全部的地址,share根据你在 smb.conf中的配置来决定。比如以上的配置中[]中的内容)

备注:
1.  根据实际情况,修改以上地址为自己的ip哦!!
2. 以上访问均不用密码,如果实际需要修改这个安全配置的,可以修改 smb.conf的配置,然后重启 samba

-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-22788794-id-1769241.html

-----------------------------------------------------------------------------------------------



-----------------------------------------------------------------------------------------------

sorce:http://blog.chinaunix.net/uid-22788794-id-1769241.html

-----------------------------------------------------------------------------------------------

.为什么要用Samba

    Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。我们现在是要在Linux下配置Samba,让Windows的用户可以访问你 配置好之后的PC

.需要的软件?
    
我是在ubuntu上实现的,所以我只需在配置好ubuntu的更新源之后,在终端中使用一下两句命令,就可以安装Samba的软件包
    $sudo apt-get install smaba
    
$sudo apt-get install smbfs

.Samba服务的组成
    Samba
的核心是两个守护进程smbdnmbd。当然,它们的配置信息都保存在/etc/samba/smb.conf里面。
    
其中smbd处理Samba软件与Linux协商,nmbd使其他主机能浏览Linux服务器。

.Samba的配置文件的语法
    配置文件就放在/etc/samba/下,名字叫作smb.conf。如果怕改了之后有问题,可以备份一份。
    
执行如下命令进行备份(事实上就是复制一份,并且改名)
    $sudo cp /etc/samba/smb.conf /etc/samba/smb_conf_backup
    
一个完整的smb.conf配置文件有两部分组成Global Settings(全局参数设置)和Share Definitions(共享定义)组成。
    
每个部分有消息头和参数构成,如[global]就是一个消息头,用[]标志。
    
而参数的结构形式是parameter = value
    
注释用#表示,这个和shell脚本有点像
    
而你会发现有一些前面有;号,这个表示这一行的配置可以更改,修改就要去掉;,让配置起作用。

.Samba组成
    
1Samba Global Settings 全局参数设置
          
该部分由[global]段来完成配置,主要是设置整体的规则,有个参数一般要修改的是workgroup=mygroup此句提供NT域名或者工作组名,是必须根据实际修改的。
    (2)Share Definitions 
共享定义
          
有很多段,都用[]标志开始的,这里要自己根据情况修改。

.设置共享目录。
    
反正随便设置一个目录给别人访问就行了,第一次配置,也就不考虑太多。
    $sudo mkdir -p /home/share/samba
    $sudo chmod 777 /home/share/samba

.修改配置文件
    1global修改的地方,防止乱码产生
    [global]
    workgroup = WORKGROUP
    display charset = UTF-8
    unix charset = UTF-8
    dos charset = cp936
    
2)在文本最后添加Share段,其中/home/share/samba是共享目录
    [Share]
    comment = Shared Folder with username and password
    path = /home/share/samba
    public = yes
    writable = no
    valid users = user
    create mask = 0300
    directory mask = 0300
    force user = nobody
    force group = nogroup
    available = yes
    browseable = yes
    
3)搜索到security一项,修改如下
    security = user
    username map = /etc/samba/smbusers


.定制Samba的用户
    
在终端中输入一下命令
       $sudo useradd user        #
增加了一个叫做user的用户
       $sudo smbpasswd user    #
修改user的对samba服务的密码,系统会提示输入密码
 

.重新启动服务
   
保存并关闭配置文件,在终端中输入如下命令
    $sudo testparm
    
重新启动服务
    $sudo /etc/init.d/samba restart

.使用服务
    
1)在windows系统下使用
       
方法一:在IE地址栏中输入: \\你的IP 然后回车,可能要求你输入用户名和密码,就是第八步所设定的。
       
方法二:在网上邻居中新建邻居,在路径中输入\\你的IP\Share 然后点击下一步完成,当然,还是可能会要求输入用户名和密码
    (2)
Linux下访问
       
在终端中挂载文件系统
       $sudo mount -t smbfs -o username=user,password=123456 //218.*.*.*/Share /mnt

其中,-t参数指示了文件系统的类型,username是用户名,password是密码,218.*.*.*是你的IPShare你在配置文件中已经指明的段名,/mnt是你要挂载所到的文件夹,当然你可以自己修改

-----------------------------------------------------------------------------------------------

sorce:

-----------------------------------------------------------------------------------------------



0 0