博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调试 rsh, rcp, rlogin, rdist 许可被拒(Permission Denied )问题(zt)
阅读量:2452 次
发布时间:2019-05-10

本文共 2751 字,大约阅读时间需要 9 分钟。

按照平时的操作,有的服务器不需要设置hosts.equiv 文件,只需要设置.rhosts文件就可以了,今天的一台服务器没有设置hosts.equiv文件一直出现Permission Denied ,设置完hosts.equiv就可以了。

下面的是IBM的调试rsh等工具的提示:

内容提要:

在使用rsh, rcp, rlogin, rdist 等各种远程命令时有时会出现许可被拒(Permission Denied )等错误,如下所示:
rcp 0826-813 – permission denied
本文档将针对于如何调试解决这些问题进行简单的讨论,并通过实例说明几种常用的调试方法及其过程。内容适用于AIX 5L 以及AIX 4.3。

说明:

1. 检查这些远程命令所需要的基本设置
配置这些远程命令需要正确设置 .rhosts 或者 hosts.equiv 文件。两个关键点是
1)确认相关文件的内容以及权限设置
.rhosts 和hosts.equiv分别位于$HOME目录以及/etc目录下。它们的许可权限应该设置为600。内容应该包括你正在使用的主机的机器名以及你登录的 用户名。特别注意文件中登记的主机名要和实际的主机名完全匹配。这些文件应该存在于远程命令操作的服务器上。参看man 帮助可以得到更多的关于这两个文件及其要求的格式的相关信息。

2)确认正向及反向名解析( forward and reserve name resolution )在两个系统上能正常工作,并且解析的结果和你想要的一致。检测正向及反向名解析( forward and reserve name resolution )可以使用host 命令检查主机名和IP地址。参见下列例子:

在本例中你想 rsh 从一台叫 fozzie 主机到一台名叫 bert 的机器,并且作为root运行date命令。

在fozzie 机器上:

# rsh bert date
#rshd: 0826-813 Permission is denied
出现许可被拒的错误,现在到bert机器上检查文件内容以及权限设置:
# cat /.rhosts |grep fozzie
#fozzie root
(正确的 .rhosts文件中存在客户机的主机名和要登录进来的用户名)
# ls -l /.rhosts
# -rw------- (许可权限设置为600,也是正确! )
文件内容和权限设置似乎都正确,那么问题出在什么地方呢?再来检查名解析:
# cat /etc/netsvc.conf
# hosts=local,bind4
(显示名解析将先使用本机/etc/hosts,然后才是 DNS)
# cat /etc/hosts |grep fozzie
#
(在本机host文件中没有发现fozzie,因此bert 解析 fozzie 经DNS)
# host fozzie
#fozzie.austin.ibm.com is 10.1.4.18
# host 10.1.4.18
#fozzie.austin.ibm.com is 10.1.4.18
由此可知,通过DNS解析出的fozzie实际上是fozzie.austin.ibm.com,这和包含在.rhosts 中的fozzie是不匹配的。为了解决这个问题你可以通过编辑/etc/hosts增加一个fozzie的短名字,或者编辑.rhosts使fozzie 使用其长名。为了和/etc/netsvc.conf保持一致,编辑/etc/hosts文件
# vi /etc/hosts
增加以下一行
10.1.4.18 fozzie

再次使用host命令,

# host fozzie
fozzie is 10.1.4.18
# host 10.1.4.18
fozzie is 10.1.4.18

现在回到fozzie 机器,再试rsh

# rsh bert date
#Tue May 21 10:16:39 CDT 2004

2. 利用 who am i 命令进行调试

另一个在调试远程命令的名解析功能时很有用的命令是who am i。参见下例:
例:
telnet 或者 rlogin 从fozzie 到 bert 然后运行 who am i
#who am i
#root pts/0 Sep 21 10:18 (10.1.4.18)
这显示命令执行者(我-i)是root ,IP地址为10.1.4.18。bert 是通过IP 地址而不是通过名字来找fozzie。为了运行远程命令,在bert上的
.rhosts中必须反映这一点。所以.rhosts文件应该包含:
10.1.4.18 root

3. 其它调试技巧

在调试远程命令相关的问题中,其它的相关检查项目可能包括:
(1) 身份验证( authentication):
# lsauthent--&gtkrb5 standard AIX
可能需要更改为 std
# chauthent -std
# lsauthent-> Standard AIX

(2) 各种命令的许可权限( permissions )

# ls -al /usr/bin/rsh
-r-sr-xr-x 2 root system 303506 Feb 10 14:11 /usr/bin/rsh
# ls -l /usr/sbin/rshd
-r-sr-xr-- 1 root system 24556 Feb 10 14:12 /usr/sbin/rshd
# ls -l /usr/bin/rcp
-r-sr-xr-x 1 root system 319972 Apr 08 2001 /usr/bin/rcp
# ls -al /usr/bin/rlogin
-r-sr-xr-x 1 root bin 306328 Apr 10 2002 /usr/bin/rlogin
# ls -al /usr/sbin/rlogind
-r-sr-xr-- 1 root system 33864 Jul 17 2002/usr/sbin/rlogind

除了rshd 和rlogind 是 4554外 ,其它各项都应该是4555 -r-sr-xr-x 。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312079/viewspace-245870/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/312079/viewspace-245870/

你可能感兴趣的文章
开放经济的宏观经济学答案_从开放的角度回答管理问题的8个答案
查看>>
drupal 页面分栏_使用段落在Drupal中构建更好的页面
查看>>
openstack 容器_如何在OpenStack中协调容器
查看>>
数据治理开源软件_开源软件如何为更好的治理打下坚实的基础
查看>>
openstack社区_OpenStack的社区分发
查看>>
密歇根大学python_密歇根理工大学建立自己的3D打印机课程
查看>>
为什么从SparkFun而不是Bigbox卖家购买?
查看>>
项目托管平台 开源_一个用于版本控制托管的开源平台
查看>>
使用TurnKey Linux的用户友好型虚拟主机
查看>>
知识源于生活 精于思考_开放源于教育,新系列将于3月16日开始
查看>>
开源实时数据库_实时应用程序的开源数据库
查看>>
64 位文件共享锁定数溢出_一位教授如何通过共享教科书为学生节省数百万美元
查看>>
网络虚拟化 软件定义网络_软件定义网络简介
查看>>
组织学习:DevOps的新视角
查看>>
openstack项目_沃尔玛的OpenStack,项目改革现状等
查看>>
unity 作弊_屏幕作弊没问题,Unity打开,等等
查看>>
推动互操作性,OpenStack卡座等
查看>>
linkedin开源列表_Google的新容器项目,LinkedIn上的开源代码,Raspberry Pi B +,等等
查看>>
openstack项目_软件定义的经济,OpenStack的新孵化项目等
查看>>
git项目中的子git项目_使用子模块和子树管理Git项目
查看>>