Linux三大共享文件的方法

时间:2024-03-12 20:37:34

1. Samba

    Samba 用于Linux 和windows之间的共享,ubuntu里面默认没有安装samba

    在安装好samba之后,就用开始配置samba服务:

    Samba服务器主要配置文件为/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中。

    在Windows系统中不用输入密码访问Linux共享目录
    在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/myth/share目录,要在 Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.0.10,进行 如下操作:
#mkdir /home/myth/share
#sudo 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/

(图形化设置为:系统 -> 管理 -> samba 进行设置)

 

2. NFS (Network File Service)

    NFS用于Linux系统之间的文件共享

(1) 实验环境,主机Ubuntu 9.04,VMware 6.5,虚拟机Ubuntu 9.04

(2) 在主机上安装nfs服务软件,因为Ubuntu默认是没有安装的

$sudo aptitude install nfs-kernel-server

或使用新立德包管理器安装

(3) 在虚拟机上安装nfs客户端

$sudo apt-get install nfs-common
 

(4) 假设虚拟机使用的是桥接,IP地址为10.1.60.34即和主机在一个网段内。

(5) 修改nfs配置文件/etc/exports,添加如下一行

/home/yourname/sharedir 10.1.60.34(rw,sync,no_root_squash)

第一个参数是你要让客户机访问的目录,第二个是你允许的主机IP,最后的()内是访问控制方式。

(6) 注意,上面的主机IP不能使用*来通配,否则在客户机上会出现访问拒绝,但是如果我们要设置局域网访问呢?怎么办,使用子网掩码例如:10.1.60.0/255.255.254.0即可让10.1.60.*和10.1.61.*都可以访问,还可以使用10.1.60/23这种方式类确定子网。

(7) 在主机上启动NFS服务

测试配置文件

$ sudo  exportfs  -r

$sudo /etc/init.d/portmap start

$sudo /etc/init.d/nfs-kernel-server start

(8) 在客户端连接主机

$sudo mount 主机IP:/home/yourname/sharedir ~/nfsshare

注意,nfsshare必须先存在。

(9) 我们还可以设置允许的主机

修改/etc/hosts.allow即可,其实不用修改,只要在/etc/exports中指明了主机就可以了

 

启动nfs出现以下错误,前提防火墙已经关闭,其他机器有mount要先umount掉

# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [FAILED]

出现后需要重启nfs

/etc/init.d/portmap stop

/etc/init.d/nfs stop

查看进程依然存在

# ps -ef | grep nfs
root 13282 177 0 17:10 ? 00:00:00 [nfsd4]
root 13290 1 0 17:10 ? 00:00:00 [nfsd]
root 13291 1 0 17:10 ? 00:00:00 [nfsd]
root 13392 177 0 17:10 ? 00:00:00 [nfsiod]......

手动kill掉所有进程,一定要确认kill掉全部

kill -9 13282 && kill -9 13290 && kill -9 13291 && .....

再次确认没有了进程

# ps -ef | grep nfs        

开启nfs服务ok

/etc/init.d/portmap start

/etc/init.d/nfs start (也可以用: service nfs start 命令)


3.tftp形式进行共享

首先查看是否已经安装好了tftp服务器:rmp -qa | grep tftp-server

配置文件:vim /etc/xinetd.d/ftfp 

修改 server_args -s 为 -s /tftpboot

disable 为 no

启动tftp服务:

service xinetd restart 或者/etc/init.d/xinetd restart 重启服务

netstat -a | grep tftp 查看tftp是否启动,启动的结果为:udp 0 0 *:tftp *:*