数据共享或数据传输往往采用client/server 机制, 而server 又常常采用服务的形式。
众多的 client/server server服务的形式就出现了。
1. 服务的管理;
/ect/init.d/network restart
linux 下有service 程序, 方便服务调度。例如
service network start
service network stop
service network restart
2. 服务的安装,配置,调度,测试,使用,查错。
以nfs 和 samba 服务为例:
----------------------------------------
centos 上安装samba 服务
----------------------------------------
1. yum install samba
---------------------------------------
ubuntu 上安装samba 服务
----------------------------------------
1. sudo apt-get install samba
sudo apt-get install smbfs
-----------------------------------------------------------------------------
2. 修改 /etc/samba/smb.conf 文件
security = share
增加共享目录项, 例如:
[adtv1]
path = /home/hjj/code/android4.0.3/external/adtv1
writeable = yes
guest ok = yes
[android4.0.3]
path = /home/hjj/code/android4.0.3
writeable = yes
guest ok = yes
3. 重启samba 服务
service smb restart
或者
/etc/rc.d/init.d/smb restart
4. 内部测试: testparm, 可显示samba 配置
5. 使用测试:
5.1 windows 访问smb. 从windows 用 ip 来访问共享文件夹
问题:centos 上由于开启了selinux, 使得不能访问共享。
不重启机器: setenforce 0
重启机器: 查man setenforce, 修改/etc/selinux/config 关闭selinux
这样windows 可以看到linux 下共享的文件。
还可以在windows 下设置虚拟硬盘方便访问
5.2 linux 访问samba:
smbclient //192.168.11.238/samba
由于设置的security 是share, 当要求密码时,直接按回车,无密码。
可以用smbclient 操作文件
或者把远程访问挂载到一个mnt 点上。
例如:
mount -t smbfs //192.168.11.238/samba /mnt/samba -o username="" passwd=""
sudo mount -t cifs //192.168.200.128/hjj /mnt -o username="hjj",password="hjj"
每次都让我折腾mount, linux 访问windows 共享已改为上述样式。看dmesg 帮助定位。
windows 上查看都共享了哪些文件夹: 用win-r 打开命令行输入, \\自己的IP 地址可以看到共享的文件夹。
如果是虚拟机,虚拟机中windows共享文件夹会直接指向linux 文件夹, 而且windows 中一般会映射成一个盘符。
linux 上由于有nfs, ssh 等, 一般可不使用samba
灵活运用:
samba 服务包里还有一些有用的工具。例如smbstatus.查看服务器状态
client 包里也有一些工具,例如 nmblookup 由IP 查看主机名
common 包里有testparm 查看共享信息等工具。