linux下tftp、samba、nfs服务的配置和启用

做嵌入式开发,tftp、samba、nfs服务的配置是少不了的,网络上有很多资料,但是比较杂乱,这是我最近整理出来实测可用的配置方法,简单实用。希望可以帮到有需要的初学者,也为自己留个档。本例在ubuntu下运行成功,在其他linux发行版只需对命令稍做改动即可。


安装nfs:

#sudo apt-get install nfs-kernel-server


打开/etc/exports文件,在末尾加入:

/home/kevin *(rw,sync,no_root_squash)

注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:
/home/kevin:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限


重启服务

#sudo /etc/init.d/portmap restart <---重启portmap,
#sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务
#showmount -e	 <---显示共享出的目录

#sudo mount -t nfs localhost:/home/kevin /mnt     注:localhost为本机linux的IP地址 
这样就把共享目录挂到了/mnt目录,取消挂载用:
#sudo umount /mnt

如果用在嵌入式设备上挂载,要加上参数-o nolock
我在开发板上使用的挂载命令:
mount -t nfs -o nolock 192.168.1.8:/home/kevin /mnt

**********************************************************************************************************************************

在ubuntu12.04下搭建tftp服务器:

1)安装tftp-hpa,tftpd-hpa, xinetd
~$ sudo apt-get install tftp-hpa tftpd-hpa xinetd

2) 在/etc/xinetd.d/下创建并配置tftp文件
~$ sudo vim /etc/xinetd.d/tftp


1 service tftp
2 {
3 socket_type = dgram
4 protocol = udp
5 wait = yes
6 user = root
7 server = /usr/sbin/in.tftpd
8 server_args = -s /tftpboot -c 此处填写共享文件夹路径
9 disable = no
10 per_source = 11
11 cps =100 2
12 flags = IPv4

13 }


-c 用于开启上传功能。


3)配置tftpd-hpa
~$ sudo vim /etc/default/tftpd-hpa 

1 #/etc/default/tftpd-hpa
2
3 TFTP_USERNAME="tftp"
4 TFTP_DIRECTORY="/tftpboot"
5 TFTP_ADDRESS="0.0.0.0:69"

6 TFTP_OPTIONS="-l -c -s"


其中/tftpboot为 tftp共享目录 权限改为777

4) 重启tftp服务并测试
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

**********************************************************************************************************************************

samba 搭建

1. 安装samba 服务
sudo apt-get install samba

2. 修改samba.conf文件
Vi /etc/samba/smb.conf


在最下面添加如下的代码:


[xxx]
browseable = yes //浏览权限
writeable = yes //写权限
locking = no //是否加锁
public = yes //文件夹属性
valid users = xxx //有效的用户名 可以自行添加
path = /home/xxx //共享文件夹得路径
create mode = 755
case sensitive = yes
directory mode = 755

write list = xxx


这些就是在samba上共享的文件夹,下面的是其属性
重启samba 服务
/etc/init.d/samba restart

3. 添加新的samba用户,并设置密码:
sudo smbpasswd -a xxx

提示输入新的samba密码,自行输入即可。
以后要更改samba密码,使用命令:sudo smbpasswd username 输入两次新密码即可。
注意新的samba用户一定要被识别,否则是无效的用户ID

4. 为了能够以固定的IP地址访问 VM 虚拟机我们配置一下interfaces 或者直接双击网络。然后edit
配置一个跟局域网相同的netmask gateway的IP,自行配置一个不冲突的IP address

需要重启机器才能生效
5. 在运行里面键入IP地址 就可以看到xxx 文件夹也就是smb.conf [xxx]里面的名称
双击它,然后输入(3)中设置的用户和密码
你就可以进入虚拟机的硬盘中了,如果你想更方便的用于开发,可以把这个ip 访问的虚拟机映射成网络硬盘
这样它就和我们普通的harddisk driver 没有分别了
你可以将网络硬盘的代码映射到SI 或者UE中 ,跟我们操作D、E等盘是一样的
它的基本访问通信速度大概是10M/s
这个比较方便的是可以直接在网络驱动器上修改源代码,不用再通过SSH来回的传递,(

注意:以上所有的操作权限都是username,千万不要在root用户下操作,否则仅仅能够映射网络驱动器,不能够修改其代码!

你可能感兴趣的:(linux)