Samba Windows用户可以在自己的电脑上形成一个磁盘,实际上是Linux磁盘的一部分,来同步使用。
***service************************************************************************************
核心:SMB协议(在局域网中共享文件夹和打印机的一种协议)
使用: Win:下面Win+R;;在运行里面输入:\\172.22.19.194
cmd下:\net use 查看会话连接
\net use * /delete /y //* 代表要断开的连接
Linux:登陆用户的文件在/home/username下面
1.安装,查看安装:#rpm -q samba // #rpm -qa | grep samba
如果没有,安装: #yum install samba
2.启动,停止,重启:
#/etc/init.d/smb start/stop/restart
#etc/rc.d/init.d/smb start
有两个守护进程:
-------------------smbd ____ 139 TCP 端口
-------------------nmbd ____ 137和138 UDP端口
smbd进程的作用是处理SMB请求包,负责用户验证和文件共享;
nmbd进程的作用是处理浏览共享和计算机名称解析。
3.samba 主配置文件存放在
/etc/samba/smb.conf
【如果不在此目录查找:#rpm -ql samba samba-common | grep smb.conf】
[global] 设置全局环境选项
workgroup=指定工作组或域
server string=描述
security= share【无权限验证】 ;;user 缺省,推荐,由Linux Samba服务器验证;;server 第三方主机验证;;domain 通server,但第三方必须是Windows域控制器
hhost allow=限定主机访问【一般出现禁止和允许,是禁止优先,但Samba是允许优先】
log gile=日志文件存放位置
[homes]设置用户属猪目录共享
comment=Home Description
browseable=no 无权限目录隐藏
writeable=yes 可写权限
[printers]设置打印机共享
[sharefiles]设置文件共享
4......【Attention】/etc/services 文件中需要以下以netbios-开头的记录,否则用户无法访问Linux服务器上的共享资源
netbios-ns 137/tcp #NETBIOS NAME SERVICE
netbios-ns 137/udp
netbios-gdm 138/tcp #NETBIOS DATAGRAM SERVICE
netbios-gdm 138/udp
netbios-ssn 139/tcp #NETBIOS SESSION SERVICE
netbios-ssn 139/udp
5. 查看samba使用状态
#smbstatus
6.Samba不可访问
防火墙设置问题,关闭(不会配置的话):#iptables -L
SELinux #setsebool -p samba_enable_home_dirs on
【 #gesebool -a | grep samba 列出与Samba相关的SELinux策略 】
——————————————————————————————
Win下:Win+R ,输入:cmd
>net use * /delete /y
Win+R,输入:\\IP 登陆
———————————————————————————————
7.。。。EXAMPLES
/////建立一个目录,使得所有人能在其下面建立自己的目录
①让Samba使用共享目录
#chcon -t samba samba_share_t 共享目录
②发布共享目录
#vi /etc/samba/smb.conf
写在文件末尾
....................................................................................................................
[共享名] || (由字母和数 字组成)
path=共享目录 || [exuxu]
valid users=指定访问用户 || police,thief ////若users为user时,samba系统默认为该选项没有填写,那么默认所有用户都能访问该目录
|| read list=police thief \n write lsit=@exuxu (exuxu组用户可写)
writeable=权限 || yes
【 #testparm 用于检测该配置文件的正确性 】★★★★★
....................................................................................................................
③ 服务重启 #/etc/init.d/smb restart
给用户samba密码 【#smbpasswd user_name 新用户的话必须加上-a选项】
1)Samba用户授予写权限
2)用户在linux系统中是否对共享目录有写权限【设置组,用户加入组】
#groupadd euxu
#gpasswd -a police exuxu
#gpasswd -a thief euxux
#chgrp exuxu /back
#chmod g+w /back
8./////建立一个目录,是得所有人都能过访问,但不能更改 [所有人是:exuxu,police,thief]
#mkdir /home/readonly
#vi /etc/sambd/smb.conf
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
[ReadOnly]
path=/home/readonly
valid users=exuxu,police,thief
writeable=no
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#smbpasswd -a exuxu
#smbpasswd -a police
#smbpasswd -a thief
#groupadd readonly
#gpasswd -a police readonly
#gpasswd -a thief readonly
#chgrp readonly /readonly
#chmod g+w /readonly ||||||这里赋予了写权限,但是因为smb.conf文件中没有给它写权限,所以拥有只读权限
Samba ***Linux____client*****************************************************************************
安装:#yum install samba-client
使用:#smbclient -L //172.22.19.194 -U exuxu 查看要访问的主机上的目录[假如有software目录]
登陆Samba:#smbclient //172.22.19.194/software -U exuxu
Samba ***swat*************************************************************************************
samba服务有一个web工具可以管理samba服务它的名字叫samba-swat 以图形界面管理samba服务器,通过samba-swat可以进行大部分samba的设置。
1.首先检查是否安装samb-swat软件
# rpm -q samba-swat
samba-swat-3.0.33-3.29.el5_7.4 //说明我已经安装了,如果没有安装请用yum -y install samba-swat来自动安装swat
2.安装好samba-swat之后就是检查一下/etc/services
# cat /etc/services |grep swat
swat 901/tcp # Samba Web Administration Tool//从这里可以看出swat用的是901端口,所以我在iptables里添加input链中添加了tcp 901端口允许进入。查看前面是否有#号如果有请删除
3.# cat /etc/xinetd.d/swat //查看swat默认配置如下:
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
only_from = 0.0.0.0 //允许运行swat的地址
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
3.# /etc/rc.d/init.d/xinetd restart //重新启动swat服务
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]