📄 570.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> ● UNIX网络编程 (BM: clown) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="15.htm">上一层</a>][<a href="571.htm">下一篇</a>]
<hr><p align="left"><small>发信人: cloudsky (小四), 信区: Security <br>
标 题: RPC/XDR/NFS系列之----Redhat下NFS的使用 <br>
发信站: 武汉白云黄鹤站 (Mon Feb 28 18:30:07 2000), 站内信件 <br>
<br>
标题:RPC/XDR/NFS系列之----Redhat下NFS的使用 <br>
<br>
1. 所有NFS权限主要依赖于nfs server端的设置。用netconf可以设置, <br>
设置完毕应该用/etc/rc.d/init.d/nfs重新启动,迫使设置立即生效。 <br>
<br>
Path to export /home/scz/nfsexport <br>
Comment (opt) nfs export root directory <br>
Client name(s) <br>
[X] May write <br>
[X] Root privileges <br>
[ ] translate symbolic links <br>
[X] Request access from secure port <br>
<br>
那个Client name处如果为空,表示对client的ip没有限制。 <br>
此时如果用showmount -e localhost应该可以看到: <br>
<br>
Export list for server.*.*.*: <br>
/home/scz/nfsexport (everyone) <br>
<br>
<br>
May write意思是nfs server端支持写操作,如果nfs client <br>
用rw方式mount,则可以进行写操作,但nfs client用ro方式mount, <br>
即使nfs server这边May write,也无法进行写操作。 <br>
如果nfs server这里禁止了May write,无论nfs client如何mount <br>
都无法进行写操作。显然,一般不应该选中这里。 <br>
<br>
Root privileges意思是nfs client端的root用户是否在nfs server <br>
端依旧以root身份出现,选中了就是允许,否则client端的root将 <br>
被映射成为server端的nobody用户。显然,为了安全,这个地方不 <br>
应该被选中。 <br>
<br>
translate symbolic links选项不要选择,我是说Redhat6.0下。 <br>
否则showmount -e会发现什么也没有export出来。此时,如果在 <br>
server端的nfsexport目录下有个符号连接,到了client端nfsmount <br>
目录下时,此符号连接依旧存在,但和从server端使用该符号连接 <br>
完全两个概念了,RR分别只对应本地文件。如果server那头 <br>
ln -s /etc/passwd一个什么东西,你在client这头要copy符号连接 <br>
的话,得到只能是你本机的/etc/passwd,不要想好事了。 <br>
<br>
Request access from secure port,这个选项在我没有仔细看NFS <br>
的RFC之前也不好给个比较通俗的解释,反正从安全角度出发,应该 <br>
选中这个选项。 <br>
<br>
这个设置界面最终影响了/etc/exports文件,可以查看该文件。 <br>
<br>
2. NFS Client的权限依赖于mount时的选择。 <br>
<br>
Server 192.168.67.108 <br>
Volume /home/scz/nfsexport <br>
Mount point /home/scz/nfsmount <br>
Options [ ] Read only <br>
[X] User mountable <br>
[X] Not mount at boot time <br>
[ ] No program allowed to execute <br>
[ ] No special device file support <br>
[ ] No setuid programs allowed <br>
[ ] User quota enabled <br>
[ ] Group quota enabled <br>
[ ] Soft mount <br>
[ ] Background mount <br>
[ ] Nolock mount <br>
<br>
从linuxconf进入可以看到这个设置界面,Server那里填写nfs server <br>
的主机名或者IP地址,Volume对应nfsexport,这个可以用 <br>
showmount -e serverIp看到,Mount point对应本地安装点。 <br>
<br>
Read only表示mount的时候只读mount,注意远程mount上来的目录是否 <br>
可写要依赖于nfs server端的设置。 <br>
<br>
User mountable选中后就可以由普通用户执行mount -t nfs操作。 <br>
<br>
Soft mount就是允许超时机制。soft mount要求nfs client自己应该实现 <br>
超时机制,如果超时发生应该认为nfs server离线。hard mount要求 <br>
nfs client不使用超时机制。 <br>
<br>
No program allowed to execute,如果选中,来自nfs server的可执行 <br>
文件在nfs client端不允许执行。注意,这里的不允许执行,是说该文件 <br>
无法从nfs client mount点上执行,你可以cp到其他路径下执行。 <br>
<br>
No setuid programs allowed,如果没有选中,那么来自nfs server的 <br>
suid程序suid位有效,反之suid位失效。显然,从安全角度出发,应该 <br>
禁止这个特性,你无法预知来自nfs server的suid程序会做什么动作。 <br>
<br>
Nolock mount的设置究竟什么意思我也清楚,怀疑和server端的100021 <br>
以及100024服务有关,用于支持远程文件的互斥操作? <br>
<br>
<br>
这个设置界面最终影响了/etc/fstab文件,可以查看该文件。 <br>
<br>
如果使用了/etc/fstab文件,其中指定了user mountable,那么普通用户 <br>
也可以mount -t nfs。但是,完全可以不使用/etc/fstab文件。比如: <br>
mount -t nfs server:/home/scz/nfsexport /home/scz/nfsmount <br>
-o rw,exec,dev,suid,rw,soft <br>
此时普通用户无法执行这条命令,只能由root执行该命令。 <br>
<br>
3. 100021(nlockmgr)和100024(status)两个rpc server <br>
用于支持远程文件(位于NFS Server上)互斥。如果用rpcinfo -p没有 <br>
找到这两个服务,对于mount -t nfs上来的文件进行互斥操作可能 <br>
失败。 <br>
<br>
4. showmount -a 将报告当前有哪些nfs client正在使用本地nfs server <br>
<br>
[scz@ /home/scz]> showmount --all <br>
All mount points on server.*.*.*: <br>
scz.*.*.*:/home/scz/nfsexport <br>
[scz@ /home/scz]> <br>
<br>
showmount -e targetHost 将报告目标主机的nfs server export list <br>
<br>
<br>
[scz@ /home/scz]> showmount -e scz <br>
Export list for scz: <br>
/c/pwin98/spool/xlink/pcnfsd (everyone) <br>
/d/onlytemp/incoming (everyone) <br>
[scz@ /home/scz]> <br>
<br>
showmount -e targetHost 命令在攻击中经常用到。它会在某种程度上 <br>
显示出nfs server host对哪些主机保持了信任关系。往往这种信任关系 <br>
是基于IP地址或者主机名的,从本版以前介绍过的文章中可以发现这种 <br>
类型的信任关系非常不可靠,曾经是著名的攻击点。 <br>
<br>
5. Omni-NFS企业版4.0,因为找到的注册都不可用,只好使用两用户的教育版。 <br>
<br>
[scz@ /home/scz]> showmount -e scz <br>
Export list for scz: <br>
/c/pwin98/spool/xlink/pcnfsd (everyone) <br>
[scz@ /home/scz]> <br>
<br>
问题是我不想export这个目录,在控制界面上居然找不到去掉它的地方。 <br>
我已经disable psnfsd了的,还是这样。谁都可以rw mount这个目录, <br>
可恶。 <br>
<br>
6. 实际上在上面的使用说明中蕴涵着许多安全问题,本文仅仅是给点感性认识, <br>
具体的原理细节留待以后补充。 <br>
<br>
scz < mailto: cloudsky@263.net > <br>
2000.02.28 12:50 (待续) <br>
-- <br>
我问飘逝的风:来迟了? <br>
风感慨:是的,他们已经宣战。 <br>
我问苏醒的大地:还有希望么? <br>
大地揉了揉眼睛:还有,还有无数代的少年。 <br>
我问长空中的英魂:你们相信? <br>
英魂带着笑意离去:相信,希望还在。 <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="15.htm">上一层</a>][<a href="571.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -