一、问题描述
今天遇到一个问题,一台文件服务器sftp登录,软链接的目录无法访问报错
Couldn't canonicalize: No such file or directory;
![](https://img-blog.csdnimg.cn/cf2862fcd43f42bd9377c9c606a2a7d0.png)
二、问题分析
1. 初步分析,检查软件链接是否有效 ls -l 软链接符号,检查结果正常
![](https://img-blog.csdnimg.cn/d9dcd03b4ff84f64ab08d140be02e6da.png)
如果软链接指向的原始文件不存在,会显示类似于此的错误消息:
ls: cannot access 'softlink': No such file or directory
2. 检查是否权限原因,导致无法打开
可能是因为权限不足,可以使用以下命令修改权限:
chmod <权限设置> <文件路径>
3. 如上方法仍未解决,则重新建立软件链接
1)删除软链接: rm 软链接符合
2)新建软链接:ln -s 源目录 目表目录
4. 如上常规方法仍未把问题解决,重新审视下权限问题
![](https://img-blog.csdnimg.cn/855a094810bb4389855e1ec4008cf1bd.png)
检查ssh_config配置发现,sftp服务对于归属组及主目录又规定。
所以解决此问题,办法就是把文件归属用户组修改,同时修改主目录。