Linux邮件账号大搬家
篱理维护责任编辑:张碧薇联系电话:010—88559431投稿信
箱:pradice@neladminc.mcnMaintenance
WWWrletadmir1.com.crl
nux邮件账号大搬家
石家庄/白增山魏虹雨
目前,升级和改造邮件系统 一
般首选PC—SerVer安装
Linux操作系统.安全,顺利地 解决由系统间差异带来的账号 迁移,是系统管理员要解决的 难点.
早期的邮件系统多为
Sendmail,账号也是系统账号, 用户收发邮件都使用Outlook或 Foxmail等客户软件,在账号转 移过程中需要为用户重新定制密 码.如果在新系统上为每个用户 设置相同的密码,可能会出现账 号被盗用等安全问
.解决上述 问题的思路是:首先把账号由原 系统导出,为每个用户随机生成 密码.新密码以邮件形式发给用 户,通过不同形式告知用户系统 割接情况.
【上接第94页】
统一管理,建议把数据库文件复 制到目的服务器SQLServer的 Data目录.如目的服务器中已有 和源数据库同名的数据库,需把 该数据库删除或分离,否则无法 覆盖目录中同名的数据库文件. 原系统账号的导出
将文件/etc/passwd复制出
来,可以使用Word,Excel或其 他工具把账号文件中"账号名", "账号说明"等信息摘录出来,生 成文本文件.整理成如下
,并 在文件结尾加上"#end".文件名 称为user.txt,name字段最好使 用巾文.
userO01nameO01 user002name002 userO03name003 #end
随机生成用户密码
使用Shell程序为用户生成随 机密码,源程序crpasswd如下: #!/bin/bash 带creatpassword 襻定义数组a,值为字母和数 说明:这种复制数据库物理 文件的方法,需要把目的服务器 SQLServer~务停止.这种数据 迁移方法适用于源服务器的SQL
Se~er无法启动,或企业管理器
无法打开的情况.
1.还原数据库前
2_于丁开目的服务器SQLServer打开目的服务器上的企业管理
企业管理器,应用附加数据库功能器,点击"服务器一数据库一安全
把要还原的数据库附加上米.性",鼠标右键点击"登录",选择"新
字,去掉难分清的两对(数字10
和字母Io)
a=(23456789abCde fghijkmnPqrStuVWXYz) whiletrue
do
readname
if["#end;echo$name }1awk'(print$1).,】
the'
echo'}end》Fpass.txt
exit
fi
userid="echoShamelawk '{print$,
user138me=echo$Rame lawk'(pnnt$2).,
i=O
password=""
饕产密码长囊为6
建登录".在对话框内输入用户信息, 建立与源数据库用户同名的用户.
2.还原数据库后
打开目的服务器』二的企业管
理器,点击"服务器一数据库一被
还原的数据库一用户",删除被还
原的数据库用户.
点击"服务器一数据库一安全
性一登录",选中"用户",鼠标右
键点击"属性",设置登录用户对
被还原数据库的访问权限._
20061O
N.??95
Main_tance责任编辑:张碧薇联系电话:..一88ss.s投稿信箱:prace@netan-c.mcn管
理维护WWWneta0mlncomcn while++《B
do
pi=,echo${a[$RANDOM %${艉I【.】}】),
PaSsOrd=,echo
Spassword$pr
done
echo-n"$userid$pass—
word>>pass.txt echo"$userid$password ">'passwd.txt echoSusemame>>pass.txt
done
执行命令crpasswd为用户生
成密码,存放到文件passwd,txt 昶pass.txt中
#./crpasswd《user-t)(t
产生的密码文件pass.txt格
式如下:
userO01pw001name001 userO02pw002nameO02 userO03pw003nameO03 #end
产生的密码文件passwd.txt
格式如下:
userO01pwO01
userO02pw002
user003pwO03
在新邮件系统上生成账号
1.系统账号还作为邮件用户账号
在Linux上已经提供了很好
的批量增加用户的命令
"newusers"
,管理员只需编制一
个用户文本文件就可以了,本文
文件users.txt格式如下:
96网鼹擞葬
userO01囊800=lO0:userO01:, home/userO01:/bin/faIse userO02::601:lO0:userO02:, home/userO02:/bin/false userO03::602:1O0:userO03:/ home/userO03:/bin/false 可以看出文件形式和passwd
文件相同,所以我们很容易由原
账号生成此文本文件,用户shell 定义为/bin/faIse,主要是考虑系 统安全,只允许用户进行邮件接 收,而不允许用户登录系统,也可 以根据需要进行更改.
以root身份执行命令/usr/sbin/
newusers,从刚建立的用户文件 users.txt导人数据,建立用户: 群newusers《Users.txt 这样,在新系统上就有了用
户数据.再根据生成的用户密码 文件,产生用户系统密码.
以root身份执行命令/usr/ sbin/chpasswd建立用户密码, chpasswd会将经过/usr/bin/ passwd指令编码过的密码写入/ etc/shadow的密码栏.
#chpasswd'passwd;txt
2.数据库存放账号
如果邮件系统使用数据库,
可使用数据库或邮件系统本身自 带的批量添加用户等其他方式把 用户和密码导人.
发放用户密码
将新系统密码以邮件形式发
给所以用户,这需要给每个用户 逐个发放密码,町以利用Linux本 身的mail命令写成的Shell程序 发送给每个用户.程序sendpass
如下:
#libin/bash
#sendpass
#邮件通知
whjletrue
do
readname
.f【tl#end"=echo$name lawk'{print$1).'】
thenexit
fi
userid="echo$namelawk '{print
Passwd,echoname lawk'{print
usernameechoSname Iawk'{print$3).' u|sermail="$userid@domain"
echosemarne:">body.bc【
echo--您好!")》body.txt echo"您在新邮件系统上
的密码是$passwd,>>body.txt
群tz:txt为邮件中需要说明
的其他问题
cattz:txt>>body.txt
mallSusermaU-S"网络
中心邮件通知"《body.txt sleep2
done
通过各种形式通知用户接收 自己的邮件,就可以得到他们在 新邮件系统上的用rI密码.接下 来就可以做系统割接了.,