应某人要求,本博客的第一篇主题已定。
系统为centos类。
===========================================
1)检查目前机器的samba服务。
$ whereis samba
samba:
$rpm -qa | grep samba
以上返回说明本机尚未安装samba。
2)使用yum来安装samba。
sudo yum install samba
3)配置smb.conf
其实samba的配置很简单,如果原来已经有一些共享资源的配置的话,照猫画虎即可。要是原来没有猫呢?系统有给几只猫的。话说man smb.conf可看详细说明。
哦,对了,smb.conf在哪里?一般路径会是/etc/samba/smb.conf
那么$
sudo vim /etc/samba/smb.conf
里面东西很多,在默认安装好后,我们可以先用原来系统中存在的用户来访问其用户目录。这个是配置文件中的[home] section的功用。
[homes]
comment = Home Directories
browseable = yes
writable = yes
comment = Home Directories
browseable = yes
writable = yes
create mask = 0664 ;如果不添加这项,将会使用默认的权限,那么创建的普通文件权限将会是744
; valid users = %S
; valid users = MYDOMAIN\%S
; valid users = %S
; valid users = MYDOMAIN\%S
有这东西其实已经可以启动samba服务了。
4)添加samba用户
[root@TENCENT64 ~]#
smbpasswd -a kevin
New SMB password:
Retype new SMB password:
Added user kevin.
New SMB password:
Retype new SMB password:
Added user kevin.
怎么启动?
[root@TENCENT64 ~]
#
service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
5)在windows中连接到samba
点击完成后在弹出的这里输入刚才smbpasswd中添加的用户和密码:
然后即将目标文件夹(这里是kevin用户的根目录)映射到本机的Y驱动器。
另一种简单的做法是:
在命令行提示符下:
如此便可在windows下访问linux机器上的资源并修改之了。。
==============================================
额外的问题:
1)Q:为什么要使用samba?
2)Q:对[home]中的valid users = %S字段是何含义?
A:这里的%S是the name of the current service, if any.是指登陆用户可以访问。
If this is empty (the default) then any user can login.并且 为空时,或者这行注释掉时,任何用户可登陆。
通过这个可以控制哪些用户可以访问哪些资源。
3)Q:如何添加更多的共享资源?
[testsmb]
comment = just test samba
path = /tmp
browseable = yes
writable = yes
valid users = kevin
create mask = 0664
public = yes
comment = just test samba
path = /tmp
browseable = yes
writable = yes
valid users = kevin
create mask = 0664
public = yes
重新载入配置或者重启即可:
[root@TENCENT64 /usr/kevin]# service smb reload
Reloading smb.conf file: [ OK ]
Reloading smb.conf file: [ OK ]
之后就可以访问这个资源了:
4)Q:为什么需要使用root启动smbd?
A:因为samba使用的端口是139,445,故需要root才有权限启动之。