Opening Windows to a Wider World

Opening Windows to a Wider World

这个广告词我觉得写得不错,如前述,在FreeBSD下频繁的读写ext3分区有导致分区dirty的可能,所以我把接入磁盘阵列的操作系统换成了Centos5.5,使用LiveCD灌到U盘,然后通过VNC,局域网网络安装,没有图形界面,速度很快,十几分钟就欧了,这台笔记本配置很低,一枚VIA的800Mhz处理器,2G内存,80G硬盘,我最中意它的是因为它作为一台笔记本,是没有风扇的~大大减少了物理损坏的可能。装好Centos,yum了一个samba3x上去,mount上磁盘阵列,修改好配置文件,发现总是启动failed,我英明的查看了一下samba日志,然后上网搜了搜~

[2011/04/01 15:28:20,  0] smbd/server.c:main(1275)
smbd version 3.3.8-0.52.el5_5.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2009
[2011/04/01 15:28:20,  0] lib/messages_local.c:messaging_tdb_init(96)
ERROR: Failed to initialise messages database: Permission denied
[2011/04/01 15:28:20,  0] lib/messages.c:messaging_init(204)
messaging_tdb_init failed: NT_STATUS_ACCESS_DENIED

搜索的结果是,出现这些个错误的原因林林种种,什么数据库错误,编码问题,但很明显都不是我要的结果,就在我准备放弃的时候,我看见有人在其它的问题上抱怨SElinux……电光火石间,我意识到了这个问题。

究其根本,是因为以前在安装Centos服务器的时候,考虑到使用Oracle数据库的可能,都装上了图形界面,而且我习惯性的在装好之后把SElinux和iptables都禁用掉,这次只安装了命令行,木有安装图形界面,于是,SElinux和iptables都在那运行着……找到了问题,解决起来就很简单,把SElinux直接disable掉(/etc/sysconfig/selinux),然后chkconfig iptables off,chkconfig ip6tables off,reboot。

终于可以顺利的启动Samba服务,接下来进行配置,参考原来mybookworld中的配置文件,简单的说呢就是,有一些目录大家可读可写,有一些目录大家可读不可写,有一些目录大家不可读不可写,有一些目录我可读可写,嗯,还没晕的话说明你逻辑思维能力很强。

smb.conf配置如下:

[global]
server string = MyBookWorld Version %v
netbios name = mybookworld
workgroup = WORKGROUP
interfaces=192.168.151.5/24 127.0.0.1/8
security=user
smb passwd file=/etc/samba/smbusers
guest account=www
log file=/var/log/log.%m
max log size=50
dns proxy=No
unix charset = utf8
lock directory=/var/lock
pid directory=/var/lock
use sendfile=Yes
map to guest = Bad User
create mask = 755
map hidden = Yes

[dummy-1]
include=/etc/samba/shares.inc

其中,包含了一个配置文件,shares.inc,这个文件中含有所有的共享目录设置,配置如下:

[PRIVATE]
path=/shares/PRIVATE
force user=www
valid users=kenbaby
write list=kenbaby

[MOVIE]
path=/shares/MOVIE
force user=www
guest ok=Yes
valid users=kenbaby www
write list=kenbaby
read list=www

[PUBLIC]
path=/shares/PUBLIC
force user=www
valid users=www kenbaby
write list=www kenbaby
guest ok=Yes

这个配置文件很简单,英文过了四级的都能看懂,第一个PRIVATE目录,只允许kenbaby进行读写,写入的文件权限赋给www用户,第二个MOVIE目录,所有用户都可以读取,但只有kenbaby可以写入,同样,写入的文件权限赋给www用户,第三个目录PUBLIC,所有的用户都可以进行读写。将写入的文件权限赋给www用户,很好的保证了文件在磁盘上的权限统一在一个用户下,前面的smb.conf配置文件中,已经将www用户指定为来宾用户,也就是说,在Windows PC访问共享的时候,默认的Guest用户就能够直接访问,不用输入用户名和密码了。

最后一步,添加系统用户和samba用户,首先是添加系统用户:

groupadd www
useradd www -g www
groupadd kenbaby
useradd kenbaby -g kenbaby

系统用户无需初始化密码,这样它们也无法通过shell登入操作系统。然后我们添加samba用户,由于www用户是指定的来宾帐户,不需要设置密码,我们只需要为kenbaby用户添加密码即可。

smbpasswd -La kenbaby

添加完成后,重新启动smb服务即可访问共享啦!当然,如果要使用netbios name,还需要启动nmbd服务(/etc/init.d/nmbd restart)

FreeBSD & Broadcom Netlink Ethernet Driver

近日在戴尔的机器Optiplex380上装Freebsd的时候发现,又是Broadcom的网卡,每次都是Y出问题,官方根本就不带驱动的~搜索了一下,在论坛上居然有解决方案:

https://forums.freebsd.org/showthread.php?t=6081

但支持的芯片组是BCM5761,BCM5784,BCM5785,并没有Optiplex380上的BCM57780,因为57780和5784,5785是一个系列的,根据我英明的估计和大胆的猜测,把patch文件打开看了一下:

http://nccs.christian.net/bge_bcm5784_patch.htm

里面果然有关于57780的字段,

接下来的事情就很简单了,用优盘把两个patch文件拷到电脑上,

Mount -t msdosfs /dev/da0s1

打patch,重新编译内核,reboot,OK~

cd /usr/src/sys/dev/bge
patch < /root/patchbge.patch
cd /usr/src/sys/dev/mii
patch < /root/patchmii.Patch
cd /usr/src/sys/i386/conf/
config kernel

 

心血来潮在笔记本上装了个freebsd

花费了我6个小时,大部分时间浪费在准备工作上,因为我不想刻光盘安装,却没想到从网络安装,最后在0.67上面设置了一个NFS-SERVER,从网络直接读取ISO文件进行安装,

#mdconfig -a -t vnode -f 6.0-RELEASE-i386-disc1.iso
#mdconfig -a -t vnode -f 6.0-RELEASE-i386-disc2.iso
#mount -t cd9660 /dev/md0 /pub
#mount -t cd9660 /dev/md1 /pub2

Edit /etc/exports
/pub -alldirs 202.202.*.*
/pub2 -alldirs 202.202.*.*

然 后浪费掉两个小时在磁盘空间划分上,因为我没想到图形界面居然需要2个G以上的空间,以前从来不用图形界面,最多1G就足够了,应该未雨绸缪,何况我的磁 盘空间不多了,用Pqmagic划空间的时候总是很小心,以前就划坏过,这次好像还不错,什么问题都没有,有时间了装一下其它的各种linux发行版,想 来应该不错,Windows的页面文件简直就是垃圾,什么作用也起不了,除了内存满时硬盘的一阵狂响,文件系统的优越性和内存管理的优越性,我想这才是为 什么有这么多nix服务器的原因,不错,用windows可以提供稳定的服务,不过你要为此付出10倍于nix系统的代价,即使你用的是盗版,我曾经总结 了一下,windows是这样一种系统,你需要1小时装好它,1小时调整它,1000个小时来维护它,nix是这样一种系统,你需要15分钟装好它,10 个小时调整它,以后所有维护时间的总和不会超过100小时,排除停电,机房进水,火灾地震等不可抗拒的因素……不过这液晶的固定分辨率让CLI显 得不太正常,字体好难看啊,GUI倒是能自动设置,刷新率,嗯不对液晶没有刷新率,所以我不知道它是不是自己调整了…..

注:
NFS:NFS就是Servers上的档案能被其他的机器mount,而达到资源共享,享用这些档案的机器就可称为 Client,一个client可以从server上mount一个或是一个层次的目录(file hierarchies).事实上任何一台机器都可以 做server or client,甚至同时为server and client。
CLI:Command line interface,命令行用户界面
GUI:Graphics user interface,图形化用户界面