V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
programV2
V2EX  ›  程序员

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

  •  
  •   programV2 · 2020-03-17 15:44:50 +08:00 · 1602 次点击
    这是一个创建于 1526 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最初是用 root 用户跑 docker 和一个程序, 现在新建的另一普通用户 user, 并且把相关的目录创建者都改成该 user, 但是这些目录的最顶层父目录是 /root, 所以想请问是否需要在 vps 根目录执行 chmod -R 755 / 或者 chmod -R 755 /root

    谢谢 V 友指点
    15 条回复    2020-03-18 16:52:29 +08:00
    programV2
        1
    programV2  
    OP
       2020-03-17 15:47:56 +08:00
    ssh 已关闭密码登录
    nightwitch
        2
    nightwitch  
       2020-03-17 16:00:00 +08:00
    会导致无法开机 有些文件有特殊的权限需求
    programV2
        3
    programV2  
    OP
       2020-03-17 16:00:03 +08:00
    执行 chmod -R 755 /root ,并且把 /root 目录外的其他目录 执行 chmod -R 777 , 请问这样可行吗?
    programV2
        4
    programV2  
    OP
       2020-03-17 16:01:38 +08:00
    @nightwitch 我执行了 chmod -R 755 /root ,并且把 /root 目录外的其他目录 执行 chmod -R 777 , 请问这样可行吗?
    那怎么办? 如何恢复默认的目录权限? 在线等.
    xyjincan
        5
    xyjincan  
       2020-03-17 16:08:24 +08:00
    sudo chown user:user /root/xxxx
    nightwitch
        6
    nightwitch  
       2020-03-17 16:13:05 +08:00
    不太记得有哪些文件有权限需求了
    记得的就只有 ssh 的 key,需要 600 权限,否则无法 ssh 登录
    Tink
        7
    Tink  
       2020-03-17 16:18:38 +08:00
    我觉得得重装了
    Tink
        8
    Tink  
       2020-03-17 16:19:55 +08:00
    你应该给原来 root 下的文件修改所属啊,不应该直接改权限
    programV2
        9
    programV2  
    OP
       2020-03-17 16:47:44 +08:00
    @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
       2020-03-17 17:09:04 +08:00
    忘记备份目录权限了, 在 Linux 系统 中,可以使用 getfacl, setfacl 命令来进行权限的备份和恢复,使用方式如:

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

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

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

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

    setfacl --restore=permis.facl #从 permis.facl 文件恢复文件中记录的权限信息
    msg7086
        15
    msg7086  
       2020-03-18 16:52:29 +08:00
    @programV2 那你运行上面破坏性操作之前执行了你说的备份命令了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:30 · PVG 18:30 · LAX 03:30 · JFK 06:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.