LinuX USB设备自动挂载和卸载

配置LinuX USB设备热拔插[align=center][/align]
一、 工作环境
LinuX Centos 5.3 平台、FAT32 U盘和NTFS移动硬盘各一个。

二、 工作任务目的
公司要求在linux平台上实现USB设备自动热拔插,如:
1. USB设备自动挂载;
2. 挂载后通过SMB服务共享出来,客户端访问权限;
3. USB设备驱动在Linux上自动加载;
注:最好找到相对应功能服务的linux版本。

三、 工作流程
1. 安装HAL、dbus、kernel-module-ntfs
测试采用CentOS5.3系统,默认安装了HAL和DBUS,只需要安装与CentOS 5.3内核相匹配的KERNEL-MODULE-NTFS版本。在这里我以经下载打包放在文件夹内,安装即可。

2. 配置
CentOS5.3对FAT32 U盘是支持热拔插,对于NFTS格式USB设备,只需要新建和修改以下文件即可,操作如下:
1) 创建访问权限755的可执行脚本/usr/lib/hal/hal-unmount.sh ,内容如下:
File: /usr/lib/hal/hal-unmount.sh
#!/bin/sh
# sanity check. DEVNAME should start with a /
[ "$DEVNAME" != "${DEVNAME#/}" ] || exit 0
# Lazily unmount drives which are removed, but still mounted
if [ "$ACTION" = remove ] ; then
   if [ -x /usr/bin/pumount ] ; then
     /usr/bin/pumount -l "$DEVNAME";
   else
     /bin/umount -l "$DEVNAME";
     rm –rf "$DEVNAME";
   fi
fi
exit 0

2) 然后你得告诉HAL当你移除你的U盘时运行这个脚本。在/etc/udev/rules.d/90-hal.rules 中加入以下内容:
File: /etc/udev/rules.d/90-hal.rules
SUBSYSTEM=="block", ACTION=="remove", RUN+="/usr/lib/hal/hal-unmount.sh"

3. SAMBA配置
添加如下配置文件:
#Vi  /etc/samba/smb.conf
[usbfile]
Path=/media
Writable=yes
Public=yes
Only guest=yes
添加完成后,重新启动服务:
Service smb restart

4. GUSET用户自动登录
首先创建一个GUEST用户,然后对GUEST用户授权例如:
[root@localhost ~]# useradd sam
创建sam用户
下面设置sam密码
[root@localhost ~]# passwd sam
Changing password for user sam.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
将sam用户加入到root组
[root@localhost ~]# usermod -G root sam
修改配置文件,并加入以下内容:
File:/etc/gdm/custom.conf
[daemon]
AutomaticLogin=ylm

GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libkeymouselistener:/usr/lib/gtk-2.0/modules/libdwellmouselistener

AddGtkModules=true

RemoteGreeter=/usr/libexec/gdmgreeter

AutomaticLoginEnable=true

TimedLoginEnable=true

TimedLogin=ylm

TimedLoginDelay=1

注意:开始登录时为出现输入用户名,默认5秒将自动登录GUESTE用户。

5. 测试问题
在安装与配置过程中遇到的问题如下:
1. 安装KERNEL-MODULE-NTFS时,先确定安装GCC,否则会出错;
四、 总结及注意事项
在配置LINUX热拔插时,用了很多办法,遇到很的困惑与不解。刚开始用FreeNAS系统做USB设备热拔插,原因很简单,Thecus Y.E.S.box内置装的是FreeNAS系统,它具有这样的功能,也符合公司的要求;等我摸透Thecus Y.E.S.box后,它是通过硬件的支持才实现USB热拔插的功能,放弃采用FreeNAS系统做USB设备热拔插;为了降低成本,尝试在文本字符界面实现这样的功能,最后没办法先在linux图形界面实现USB设备热拔插;
注意事项:
在配置文件时,注意先备份再修改;安装所有需要的插件;自动开启samba服务;自动关闭防火墙;

以上是我安公司要求写的报告文件,只配置了可读,可写自己去网上去找找!
在这里求大家给个Centos 5.4的kernel-module-ntfs包,一直还没找到它!

猜你喜欢

转载自baoroushi.iteye.com/blog/939825
今日推荐