服务器根目录设置成 777 权限怎么办?

本文详细描述了如何在服务器因chmod-R777导致权限混乱后,通过getfacl命令恢复系统权限,包括调整SSH文件权限、创建临时服务器备份、复制并还原正常权限的过程,以及后续的安全注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述 执行chmod -R 777 / 导致服务器根目录权限设置成777,系统中的大部分服务以及命令无法使用。此时可通过系统自带的getfacl命令来拷贝和还原系统权限。

说明:对文件或目录设置777权限代表它将对所有用户都是可读、可写和可执行的,根目录设置777权 限后存在安全风险。本节操作是临时的补救措施,恢复目录权限后,建议您备份数据,重装操作 系统,避免777权限后续带来的安全风险问题。

操作步骤:

  1. 设置了777权限后请勿关闭或重启服务器,在故障服务器执行以下命令,修改 ssh连接相关文件的权限。

    cd /etc 
    chmod 644 passwd group shadow 
    chmod 400 gshadow 
    cd ssh 
    chmod 600 moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key 
    chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub 
    chmod 640 sshd_config
  2. 执行完上述命令后ssh可以连接但无法使用root。 su root, root "su: cannot set groups:" 执行以下命令,su必须有s权限才能读取root的相关配置。 chmod u+s 'which su' 完成之后就可以用root权限进入系统了。

  3. 创建一台权限正常的临时服务器:Linux操作系统,内核版本与故障服务器相 同。

  4. 在临时服务器上执行以下命令,将这个正常系统的/目录下所有文件的权限都备 份保存在 systemp.bak 中。 getfacl -R / >systemp.bak

  5. 使用scp命令将正常的备份文件传至故障服务器中。 – 您可以在临时服务器上执行以下命令,上传systemp.bak文件到故障服务器。 scp systemp.bak文件地址 用户名@IP:文件地址 例如:scp /systemp.bak root@119... – 或在故障服务器上执行以下命令,从临时服务器上下载systemp.bak文件到故障服务器。 scp 用户名@IP:临时服务器systemp.bak文件地址 故障服务器文件地址 例如:scp root@121...**:/systemp.bak /

  6. 在故障云服务器中执行以下命令将现在的系统权限恢复成和正常系统一样。 setfacl --restore=systemp.bak

  7. 重启系统之前新建脚本,避免ssh连接失败。

    vim sshtmp.sh 
    cat sshtmp.sh 
    #----------start---------- 
    sleep 300 
    cd /etc 
    chmod 644 passwd group shadow 
    chmod 400 gshadow 
    cd ssh
    chmod 600 moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key 
    chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub 
    chmod 640 sshd_config 
    chmod u+s ·which su·
    
    #-----------------end---------
  8. 执行以下命令添加到Linux启动脚本rc.local中。 echo '/sshtmp.sh &' >>/etc/rc.local

  9. 执行以下命令重启操作系统。 reboot 。重启后云服务器恢复正常,结束sshtmp.sh进程,恢复rc.local,删除sshtmp.sh, 重新查看系统权限是否恢复正常。

  10. 后续操作 对文件或目录设置777权限代表它将对所有用户都是可读、可写和可执行的,根目录设 置777权限后存在安全风险。 本节操作是临时的补救措施,恢复目录权限后,建议您备份数据,重装操作系统,避 免777权限后续带来的安全风险问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值