You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Solaris 11中root本地登录正常,rsh访问却提示‘account expired’?

Solaris 11下root用rsh提示"account expired"的解决办法

问题根源

Solaris 11的in.rshd服务对root用户的验证逻辑和本地登录不一样——本地登录不会卡密码过期属性,但rsh会严格检查,哪怕你本地登root完全没问题,只要密码有效期相关配置不对,rsh就会扔出"account expired"。

先排查确认问题

  1. 查root的密码状态:

    passwd -s root
    

    输出字段依次是用户名、密码状态、最后修改日期、最小期限、最大期限、警告天数、不活动期限。要是最大期限是0或者不活动期限有数值,大概率就是这个问题。

  2. 直接查看/etc/shadow里的root条目:

    grep root /etc/shadow
    

    重点看第5个字段(最大密码有效期),正常应该设为99999(永不过期);第7个字段(账号过期日期)得是空值,不能有具体日期。

修复方案

方法1:把root密码设为永久有效

直接执行以下命令,拉满最大密码期限,同时设置不活动期限为无限制:

passwd -x 99999 root
passwd -i -1 root

方法2:放宽rsh的root验证(仅限封闭网络)

编辑/etc/default/login文件,添加一行配置:

PERMIT_ROOT_LOGIN=yes

之后重启rsh服务:

svcadm restart network/rpc/rsh

方法3:检查.rhosts权限

别忽略/root/.rhosts的权限要求,必须是600,所有者得是root,否则rsh可能返回异常错误:

chmod 600 /root/.rhosts
chown root:root /root/.rhosts

验证修复

执行测试命令确认:

rsh <目标服务器IP> whoami

如果返回root,说明问题解决,后续可以正常用rsh/rcp执行文件复制操作。


内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:47:30