-----------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------
#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…][[+-=][rwxXstugo…]…][,…]’.
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:
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:
”
-----------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------
分类: LINUX
点击(此处)折叠或打开
- [martin@~]$ sudo apt-get install samba
- [martin@~]$ sudo apt-get install cifs-utils
- [martin@~]$ sudo apt-get install samba-common
2. 创建共享的目录
点击(此处)折叠或打开
- [martin@~]$ mkdir /home/martin/samba_share
- [martin@~]$ sudo chmod 777 samba_share/
3. 修改配置 samba
点击(此处)折叠或打开
- [martin@~]$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
- [martin@~]$ sudo vim /etc/samba/smb.conf
点击(此处)折叠或打开
- [share]
- path = /home/martin/samba_share
- available = yes
- browseable = yes
- public = yes
- writable = yes
这样带来一个问题就是,在windows和linux下会因为用户问题导致文件夹或者文件的访问权限问题
可以配置samba来实现windows下使用和linux下相同的用户,只需要修改以上 public=no
对于我的配置,为了让在windows下使用martin登陆,还需要上述的配置中添加martin到 smb的用户组中
sudo smbpasswd -a martin
来添加martin到 smb用户组,同时设置登陆密码
4. 创建配置用户
点击(此处)折叠或打开
- [martin@~]$ sudo adduser msamba
- [martin@~]$ sudo touch /etc/samba/smbpasswd
- [martin@~]$ sudo smbpasswd -a msamba
5. 重启samba
点击(此处)折叠或打开
- [martin@~]$ sudo service samba restart
- [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 的核心是两个守护进程smbd和nmbd。当然,它们的配置信息都保存在/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组成
(1)Samba Global Settings 全局参数设置
该部分由[global]段来完成配置,主要是设置整体的规则,有个参数一般要修改的是workgroup=mygroup,此句提供NT域名或者工作组名,是必须根据实际修改的。
(2)Share Definitions 共享定义
有很多段,都用[]标志开始的,这里要自己根据情况修改。
六.设置共享目录。
反正随便设置一个目录给别人访问就行了,第一次配置,也就不考虑太多。
$sudo mkdir -p /home/share/samba
$sudo chmod 777 /home/share/samba
七.修改配置文件
(1)global修改的地方,防止乱码产生
[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.*.*.*是你的IP,Share你在配置文件中已经指明的段名,/mnt是你要挂载所到的文件夹,当然你可以自己修改
-----------------------------------------------------------------------------------------------
sorce:
-----------------------------------------------------------------------------------------------