wordpress网站怎么仿珍岛外贸网站建设
在使用perl脚本的时候,通过Net::OpenSSH去获取执行节点的信息是一种常用的方法。在某个环境中,执行命令的时候出错,下面展示一下相关的代码
    my $ssh_ops = {user => "root", password => "password", master_opts => [-o => "UserKnownHostsFile=/dev/null", -o => "StrictHostKeyChecking=no"]};my $ssh = Net::OpenSSH->new($host_ip, %$ssh_ops);# while( my ($key,$value) = each %ssh) {#     if (defined $value) {#         print "\n==== debug: $key => $value\n";#     }        # }$ssh->error and return "fail: cann't access by ssh";
 
在这段代码执行的时候,直接返回“fail: cann’t access by ssh” 通过手动的方式进行验证,在当前节点通过ssh方式是可以正常登录指定节点的。
将注释的内容放开,进行调试,打印出如下信息:
==== debug: _error => ctl_dir /root/.libnet-openssh-perl/ is not secure==== debug: _host => 10.0.123.123
 
这个时候查看/root文件夹的权限
执行命令 :stat /root                                                                                                                                  23-08-03 - 13:45:41File: '/root'Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 8912897     Links: 29
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (    0/    root)
 
注意,这里的权限变为了0755,正常情况下 /root目录的权限应该是Access: (0550/dr-xr-x—)
 使用chmod命令将/root文件夹的权限更改一下,再次执行就正常了。
建议: 不要轻易更改/root等系统文件夹的属性,避免一些不必要的问题!
