修改权限后无法访问AWS服务器及SSH下home文件夹文件求助
咱们一个一个来解决这两个权限问题,都是日常操作里容易踩的坑,而且都能保住文件不丢失~
问题1:修改AWS权限后无法访问服务器
先从最容易排查的点入手:
- 检查EC2安全组规则:如果是SSH/RDP连不上,先去AWS控制台找到对应的EC2实例,查看关联的安全组。入站规则里必须允许你的公网IP访问目标端口(比如SSH用22,RDP用3389)。很多时候修改权限后断连,都是误改了安全组的入站规则,把自己的IP给排除了。
- 验证SSM/IAM权限(如果用无密钥连接):要是你用AWS Systems Manager(SSM)连接实例,得确认两个点:一是实例绑定的IAM角色有没有
AmazonSSMManagedInstanceCore权限;二是你的IAM用户有没有ssm:StartSession这类连接权限。之前改IAM策略时很可能误删了必要的权限条目。 - 救援实例挂载修复(系统内部权限被改坏):如果上面的方法都没用,大概率是实例内部的系统权限(比如sshd配置、用户权限)被改废了。这时候可以创建一个同区域的救援EC2实例,把原实例的根磁盘卸载下来挂载到救援实例上,直接修改磁盘里的配置(比如修复
/etc/ssh/sshd_config、调整用户权限),改完再挂载回去重启原实例就行。
问题2:误改home文件夹权限,恢复访问且保留文件
这个情况完全不用慌,只要你能拿到root或者有sudo权限的用户访问权,就能快速修复:
- 先切换到root用户:如果当前用户进不去自己的home,先试试
sudo su -切换到root,或者用其他有sudo权限的账号登录服务器。 - 查看当前权限状态:用命令
ls -ld /home/你的用户名(比如ls -ld /home/tom),看看当前的权限和所属用户组。正常的用户home权限应该是drwx------,所有者和组都是你的用户名。 - 递归修复权限:
- 先设置正确的所有者和组:
chown -R 你的用户名:你的用户组 /home/你的用户名,比如chown -R tom:tom /home/tom,-R参数会递归修改所有子文件和文件夹的归属。 - 再设置正确的权限:主文件夹本身设为
700(只有所有者能读写执行),用chmod 700 /home/你的用户名;里面的文件和子文件夹可以用chmod -R u=rwX,g=,o= /home/你的用户名来统一调整——这里的X只会给文件夹加执行权限,不会影响普通文件,避免出现不必要的权限问题。
- 先设置正确的所有者和组:
- 验证修复结果:切换回你的用户
su - 你的用户名,试试cd ~进入home,再随便打开一个文件确认能正常访问就搞定了。
要是现在连root都登不上,就用问题1里的救援实例方法,把磁盘挂载到救援实例上直接修改home的权限,文件绝对不会丢。
内容的提问来源于stack exchange,提问作者BRAHMA
相关产品推荐
相关产品推荐

