V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
programV2
V2EX  ›  程序员

请问我这情况是否需要在 vps 根目录执行 chmod -R 755 /

  •  
  •   programV2 · Mar 17, 2020 · 1965 views
    This topic created in 2238 days ago, the information mentioned may be changed or developed.
    最初是用 root 用户跑 docker 和一个程序, 现在新建的另一普通用户 user, 并且把相关的目录创建者都改成该 user, 但是这些目录的最顶层父目录是 /root, 所以想请问是否需要在 vps 根目录执行 chmod -R 755 / 或者 chmod -R 755 /root

    谢谢 V 友指点
    15 replies    2020-03-18 16:52:29 +08:00
    programV2
        1
    programV2  
    OP
       Mar 17, 2020
    ssh 已关闭密码登录
    nightwitch
        2
    nightwitch  
       Mar 17, 2020
    会导致无法开机 有些文件有特殊的权限需求
    programV2
        3
    programV2  
    OP
       Mar 17, 2020
    执行 chmod -R 755 /root ,并且把 /root 目录外的其他目录 执行 chmod -R 777 , 请问这样可行吗?
    programV2
        4
    programV2  
    OP
       Mar 17, 2020
    @nightwitch 我执行了 chmod -R 755 /root ,并且把 /root 目录外的其他目录 执行 chmod -R 777 , 请问这样可行吗?
    那怎么办? 如何恢复默认的目录权限? 在线等.
    xyjincan
        5
    xyjincan  
       Mar 17, 2020
    sudo chown user:user /root/xxxx
    nightwitch
        6
    nightwitch  
       Mar 17, 2020
    不太记得有哪些文件有权限需求了
    记得的就只有 ssh 的 key,需要 600 权限,否则无法 ssh 登录
    Tink
        7
    Tink  
    PRO
       Mar 17, 2020
    我觉得得重装了
    Tink
        8
    Tink  
    PRO
       Mar 17, 2020
    你应该给原来 root 下的文件修改所属啊,不应该直接改权限
    programV2
        9
    programV2  
    OP
       Mar 17, 2020
    @xyjincan 你说的这一步我做完了, 但是这些目录的最顶层父目录是 /root, 并且 /root 目录只有 root 用户才有 rwx 权限, 所以我才执行 chmod -R 755 /root ,并且把 /root 目录外的其他目录 执行 chmod -R 777 , 现在 ssh 还连接着, 请问现在我的 docker 里面的 mysql 要备份已经报错没法备份了, 怎么办?
    mysqldump: [Warning] World-writable config file '/etc/mysql/conf.d/docker.cnf' is ignored.
    mysqldump: [Warning] World-writable config file '/etc/mysql/conf.d/mysql.cnf' is ignored.
    mysqldump: [Warning] World-writable config file '/etc/mysql/conf.d/mysqldump.cnf' is ignored.
    mysqldump: [Warning] World-writable config file '/etc/mysql/mysql.conf.d/mysqld.cnf' is ignored.


    @Tink
    programV2
        10
    programV2  
    OP
       Mar 17, 2020
    忘记备份目录权限了, 在 Linux 系统 中,可以使用 getfacl, setfacl 命令来进行权限的备份和恢复,使用方式如:

            getfacl -R /directoryOrFile > permis.facl #备份目录或文件的权限到 permis.facl

            setfacl --restore=permis.facl #从 permis.facl 文件恢复文件中记录的权限信息
    programV2
        11
    programV2  
    OP
       Mar 17, 2020
    V 友们 请问这种情况除了重装外还有别的活路吗?   谢谢
    msg7086
        12
    msg7086  
       Mar 18, 2020
    被破坏的服务器只能重装了。如果有备份的话,可以从备份中恢复。
    xyjincan
        13
    xyjincan  
       Mar 18, 2020
    sudo chmod g-w /etc/mysql/conf.d/docker.cnf ...

    这个看起来是备份配置文件,权限不对,将它忽略了
    programV2
        14
    programV2  
    OP
       Mar 18, 2020 via iPhone
    @msg7086 谢谢大佬!请问 使用 getfacl, setfacl 命令来进行权限的备份和恢复 可行吗?

    getfacl -R /directoryOrFile > permis.facl #备份目录或文件的权限到 permis.facl

    setfacl --restore=permis.facl #从 permis.facl 文件恢复文件中记录的权限信息
    msg7086
        15
    msg7086  
       Mar 18, 2020
    @programV2 那你运行上面破坏性操作之前执行了你说的备份命令了吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2496 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 12:09 · PVG 20:09 · LAX 05:09 · JFK 08:09
    ♥ Do have faith in what you're doing.