LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 11646|回复: 39

关于nis 验证的 nfs+ autofs 用户家目录远程自动挂接及与autofs有关的问题

[复制链接]
发表于 2005-3-15 00:45:26 | 显示全部楼层 |阅读模式
我要实现在通过NIS登录其他机器也能mount NFS服务器上的home目录。
服务端server.example.com
service yppasswdd start
useradd student13
passwd student13
/usr/lib/yp/ypinit -m

vi /etc/exports
/home    192.168.1.1/24 (rw,sync)

客户机austin.example.com
authconfig
vi /etc/auto.master
/home /etc/auto.home --timeout=60
vi /etc/auto.home
* -fstype=nfs,soft,intr,rw server:/home/&
service autofs start

hosts写了解析了。
在客户机登录student13说没有目录用/
于是mkdir /home/student13
mount server:/home/student13 /home/student13
这样可以的。
但是auto.home没有用。

kevin老师请教了。这么实现登陆的时候自动mount  server上面的/home/student13  到本地的/home/student13
发表于 2005-3-15 09:23:39 | 显示全部楼层
1. 首先验证client是否已经加入NIS domain .
2. 检查client和server 的nfs运行是否正常
3. 检查本地autofs 运行是否正常
4. 测试本地在autofs运行时 cd /home/student13是否正常


通过你的描述可以断定你的autofs没有正确运行!在autofs正确运行的状态下 auto.master里定义的目录是不可以mkdir 目录的!
回复 支持 反对

使用道具 举报

发表于 2005-3-15 16:46:24 | 显示全部楼层
kevin老师,NIS+autofs 的实现方式中,如果一个用户在客户机上登录并创建了文件。那在服务器上会不会也相应创建文件?
回复 支持 反对

使用道具 举报

发表于 2005-3-15 16:58:22 | 显示全部楼层
Post by lohengramm
kevin老师,NIS+autofs 的实现方式中,如果一个用户在客户机上登录并创建了文件。那在服务器上会不会也相应创建文件?

autofs就是把服务器上的用户nfs目录挂接在本地,用户写在这个目录上的文件就是写在nfs服务器上相应目录上的,不存在本地一份服务器一份的说法,本来就是一个文件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-15 20:59:24 | 显示全部楼层
我的autofs服务是对的。在客户机里也可以自动mount auto.misc的。但是我不能自动mount远程的NFS,手动mount没问题。我想多数是auto.home文件写的不对。是不是mount NFS一定用auto.home的。我找不到关于如何写auto.home 的man的。atuo.home的格式是这么样子的?
回复 支持 反对

使用道具 举报

发表于 2005-3-15 22:22:51 | 显示全部楼层
*         -rw,soft,intr           server_ip:/home/&
我的建议是这样写!
但你最好是测试一下是否可以cd /home/student13 ,然后看是否正常挂接!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-15 23:30:59 | 显示全部楼层
Post by kissingwolf
1. 首先验证client是否已经加入NIS domain .
2. 检查client和server 的nfs运行是否正常
3. 检查本地autofs 运行是否正常
4. 测试本地在autofs运行时 cd /home/student13是否正常


通过你的描述可以断定你的autofs没有正确运行!在autofs正确运行的状态下 auto.master里定义的目录是不可以mkdir 目录的!


1,我在客户机上面的passwd里面是没有student13这用户的。用authconfig 选nis认证的。
加入NIS 域没错的。
2,nfs服务是开的。我手动mount可以的。
3,autofs也开的。auto.misc 里面cd 的开着。cd /misc/cd 会自动挂载cdrom的。
如果我在auto.misc写 student13  -rw,soft,intr server:/home/student13
在重启autofs这样我cd /misc/student13 的时候也会自动挂载server上面的/home/student13
4,我用了你给我的auto.home的格式。还是不对。
和前面一样。找不到目录。cd /home/student13也是找不到目录。

我发现。没有光盘的时候 /misc/cd这个目录是没有的。
如果auto.home对的话。那我用student13登陆进去应该会自己在客户机上创建/home/student对吗? 而不用自己创建的。

还有我看教材里面说在做/usr/lib/yp/ypinit -m 前。要编辑/var/yp/Makefile
把里面all: passwd其他都注释掉的。
我看到里面也有auto.home和auto.master的。如果我没有注释掉的话。会在/var/yp/example.com/目录下有auto.home和auto.master的。
file 说是 GNU dbm 1.x or ndbm database,little endian
vi 是没办法编辑的。
如果我是NIS域的用户在客户机登陆是用客户机的auto.home和auto.master还是服务器上的呢?

我看到里面的脚本大概的意思说。做服务器的文件影射。
auto.home auto.master就是服务器下/etc/auto.home auto.master
脚本不是很懂。
还请老师指教。谢谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-16 03:53:02 | 显示全部楼层
我搞懂了。
在本地是没法把把远程的NFSmount到自己的/home的。因为home已经给mount了。mount这个命令查看一下就知道了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-16 04:12:22 | 显示全部楼层
正确的方法是这样的。
服务端server.example.com
配置nis
service yppasswdd start
useradd student13
passwd student13
ln -s /home /rhome
vi /etc/passwd
把student13的家目录改成/rhome/student13,因为前面做了一个软连接。这样其实是一样的。
第一次我是按照教材里面做的。把/var/yp/Makefile里面就只剩下all:passwd
/usr/lib/yp/ypinit -m把服务器变为NIS服务器。
配置NFS
vi /etc/exports
/home 192.168.1.1/24 (rw,sync)把home共享出来。实际应用的时候,应该还要增加点安全性吧。

客户机austin.example.com
authconfig
vi /etc/auto.master
/rhome /etc/auto.home --timeout=60
vi /etc/auto.home
* -fstype=nfs,soft,intr,rw server:/home/&
service autofs start
验证下auto.home对不对
mount 看到 /rhome的类型是autofs那就对了。
或者cd /rhome/student13可以进去了那也对了。
客户机把远程的NFS的home  mount到本地的rhome
这个时候看看ypcat passwd就可以知道了。前面把home路径改了。这样在本地登陆时候正好拼上。

如果再要加一个用户的话。客户端不要动了。
在服务端动
useradd xxx
passwd xxx
vi /etc/passwd
改/home/xxx  为/rhome/xxx
/usr/lib/yp/ypinit -m
升级下NIS服务配制文件
ypcat passwd也看的到。home也是/rhome的。那就好了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-16 04:32:30 | 显示全部楼层
这样的话。远程登陆会有点小问题的。
all   :  passwd这样只对应密码和用户名。
redhat 默认的$PS1是[ \ u @ \h  \w]\$  名字 域名 路径
他会找本地的passwd补少的变量的。还有其他如组什么的。
举例server UID508叫student12  但是cliect UID是xxx。那么他的提示符就是XXX @ autstin
还报找不到GID 508叫什么名字。
很不爽。
于是研究自己提出来的问题。
再读读那个脚本,把group加了进去。升级配制文件。
这下GID不报找不到了。
再做下去。
把auto. home auto.master也加进去。
再把本地的配制文件给替换了。升级。
这回发现了。其实不要配客户机的。只要把这个auto. home auto.master写进Makefiles去就可以了。
本地没有auto. home auto.master也可以实现的。
不过本地的autofs服务要开的。其实原理和那个passwd是差不多的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表