Samba服务器主要配置文件为/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba/lmhosts文件中。
(1)在Windows系统中不用输入密码访问Linux共享目录
在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/share目录,要在Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.0.10,进行如下操作:
#mkdir /home/share
#vi smb.conf
将文件中的内容做如下相应修改:
security=user 改为security=share
在文件结尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/share
public=yes
writable=yes
保存退出,启动Samba服务:
#/etc/init.d/samba start
设置完成!
在Windows 下访问共享目录,可点击运行,输入
\\192.168.0.10\share
这样就能以匿名用户访问共享目录share了。
其中配置文件smb.conf主要可以分为两部分:前一部分为Global Settings(全局部分),全局部分能够对主机的相关信息进行配置,而且能够配置访问时是否需要密码。常用选项有:
workgroup=MSHOME
这部分是Windows主机的工作组明,Windows主机必须在同一个工作组中,
server string=%h server(Samba,Ubuntu)
这个选项是显示在Windows上的信息,可以自定义,其中%h为Samba配置文件中的变量,代表了主机名,即使用hostname命令得到的主机名。
log file=/var/log/samba/log.%m
这里指定了Samba服务的日志文件所在位置,其中%m也是samb.conf文件的变量,代表了登录主机的NetBIOS名。Windows主机的NetBIOS命令可以通过鼠标右键打开“我的电脑/属性/计算机明/更改/其他“来查看。
max log size=1000
设置日志文件的最大尺寸,大小为KB。
需要注意的是在smb.conf文件中“#”和“;”都是注释。
在smb.conf文件中跌入部分就是共享部分,在此部分中需要将共享的目录添加到此文件中。此部分的格式和主要选项如下:
[share] ----------在Windows主机中看到的共享文件名,不一定与Linux中共享的文件名一致,
comment=this is Linux share directory ----------对此目录的说明
path=/home/share -------Linux系统真实的共享目录,必须为绝对路径
public=yes -------是否允许所有人都能够看到此目录,no为看不到
writable=yes -------是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有w权限
read only=yes --------设置用户是否只读
create mode=0700 --------如果有可写权限,建立的文件默认的权限掩码
directory mode=0755 --------如果有可写权限,建立的目录默认的权限掩码
(2)在Windows系统之需要输入密码才能访问Linux共享目录
在smb.conf文件中,默认行是:
security=user
这行设置了Samba的安全等级,Samba一共可以设置四个安全登记,由底到高分别为:
share:这个选项表示任何人都可以不需要输入密码登录。
user:这个是Samba的默认级别,要求每个用户必须输入密码才能登录。
server:user级别的密码都是保存在本机上,而server级别的密码和用户名都保存在另一台主机上。
domain:这个级别要求网络里必须有一台Windows的域控制器,验证工作由域控制器来完成。
需要注意:只要输入用户名和密码的级别,其用户名一定首先也是Linux系统内的用户。
如果将Samba的安全级别设置了user级别,那么用户登录Samba主机必须输入密码,此用户必须是Linux中的/etc/passwd文件存在的用户,smb.conf文件的配置如下:
在smb.conf文件中的security=user下加入:
smb passwd file= /etc/samba/smbpasswd
在共享部分添加:
[homes]
comment=Home Directories
valid users=%S
其中%S为一个变量,它代表了登录用户的用户名,既认证的用户登录后就能进入自己的宿主目录。然后在 /etc/samba下建立smbpasswd文件并加入用户:
#touch /etc/samba/smbpasswd
#smbpasswd -a user1
NEW SMB password:
Retype new SMB password:
这样就可以让user1登录Samba主机了。其中smbpasswd命令的格式为:
#smbpasswd [-选项] 用户名
常见选项有:
-a:新添加一个Samba用户。
-d:禁用一个Samba用户。
-e:使禁用的Samba用户解禁。
如果需要对设置进行检测,我们可以直接使用testparm命令。
(3)在Linux中访问Windows的共享目录
在Linux中,可以直接将Windows中的共享目录挂在到本机中,然后就像操作自己主机上的文件一样进行操作。我们可以使用smbclient命令查看指定主机的共享目录信息。
# smbclient -L //[目标主机IP地址]
当查看到Windows系统中的共享目录后,可以使用smbmount命令来进行挂载共享的目录,smbmount命令的格式为:
#smbmount '\\Windows主机IP\共享的目录名' 挂载点 -O username
(1)在Windows系统中不用输入密码访问Linux共享目录
在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/share目录,要在Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.0.10,进行如下操作:
#mkdir /home/share
#vi smb.conf
将文件中的内容做如下相应修改:
security=user 改为security=share
在文件结尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/share
public=yes
writable=yes
保存退出,启动Samba服务:
#/etc/init.d/samba start
设置完成!
在Windows 下访问共享目录,可点击运行,输入
\\192.168.0.10\share
这样就能以匿名用户访问共享目录share了。
其中配置文件smb.conf主要可以分为两部分:前一部分为Global Settings(全局部分),全局部分能够对主机的相关信息进行配置,而且能够配置访问时是否需要密码。常用选项有:
workgroup=MSHOME
这部分是Windows主机的工作组明,Windows主机必须在同一个工作组中,
server string=%h server(Samba,Ubuntu)
这个选项是显示在Windows上的信息,可以自定义,其中%h为Samba配置文件中的变量,代表了主机名,即使用hostname命令得到的主机名。
log file=/var/log/samba/log.%m
这里指定了Samba服务的日志文件所在位置,其中%m也是samb.conf文件的变量,代表了登录主机的NetBIOS名。Windows主机的NetBIOS命令可以通过鼠标右键打开“我的电脑/属性/计算机明/更改/其他“来查看。
max log size=1000
设置日志文件的最大尺寸,大小为KB。
需要注意的是在smb.conf文件中“#”和“;”都是注释。
在smb.conf文件中跌入部分就是共享部分,在此部分中需要将共享的目录添加到此文件中。此部分的格式和主要选项如下:
[share] ----------在Windows主机中看到的共享文件名,不一定与Linux中共享的文件名一致,
comment=this is Linux share directory ----------对此目录的说明
path=/home/share -------Linux系统真实的共享目录,必须为绝对路径
public=yes -------是否允许所有人都能够看到此目录,no为看不到
writable=yes -------是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有w权限
read only=yes --------设置用户是否只读
create mode=0700 --------如果有可写权限,建立的文件默认的权限掩码
directory mode=0755 --------如果有可写权限,建立的目录默认的权限掩码
(2)在Windows系统之需要输入密码才能访问Linux共享目录
在smb.conf文件中,默认行是:
security=user
这行设置了Samba的安全等级,Samba一共可以设置四个安全登记,由底到高分别为:
share:这个选项表示任何人都可以不需要输入密码登录。
user:这个是Samba的默认级别,要求每个用户必须输入密码才能登录。
server:user级别的密码都是保存在本机上,而server级别的密码和用户名都保存在另一台主机上。
domain:这个级别要求网络里必须有一台Windows的域控制器,验证工作由域控制器来完成。
需要注意:只要输入用户名和密码的级别,其用户名一定首先也是Linux系统内的用户。
如果将Samba的安全级别设置了user级别,那么用户登录Samba主机必须输入密码,此用户必须是Linux中的/etc/passwd文件存在的用户,smb.conf文件的配置如下:
在smb.conf文件中的security=user下加入:
smb passwd file= /etc/samba/smbpasswd
在共享部分添加:
[homes]
comment=Home Directories
valid users=%S
其中%S为一个变量,它代表了登录用户的用户名,既认证的用户登录后就能进入自己的宿主目录。然后在 /etc/samba下建立smbpasswd文件并加入用户:
#touch /etc/samba/smbpasswd
#smbpasswd -a user1
NEW SMB password:
Retype new SMB password:
这样就可以让user1登录Samba主机了。其中smbpasswd命令的格式为:
#smbpasswd [-选项] 用户名
常见选项有:
-a:新添加一个Samba用户。
-d:禁用一个Samba用户。
-e:使禁用的Samba用户解禁。
如果需要对设置进行检测,我们可以直接使用testparm命令。
(3)在Linux中访问Windows的共享目录
在Linux中,可以直接将Windows中的共享目录挂在到本机中,然后就像操作自己主机上的文件一样进行操作。我们可以使用smbclient命令查看指定主机的共享目录信息。
# smbclient -L //[目标主机IP地址]
当查看到Windows系统中的共享目录后,可以使用smbmount命令来进行挂载共享的目录,smbmount命令的格式为:
#smbmount '\\Windows主机IP\共享的目录名' 挂载点 -O username