V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
GoodRui
V2EX  ›  Linux

关于 Linux 系统 uid、gid 及 mysql 部署的相关问题求解

  •  
  •   GoodRui · 79 天前 · 958 次点击
    这是一个创建于 79 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求助各位大佬~

    按照《 MySQL 8.0 安全部署指南》官方文档中给出的命令,为什么在创建用户和用户组的时候使用了以下命令

    groupadd -g 27 -o -r mysql
    useradd -M -N -g mysql -o -r -d datadir -s /bin/false -c "MySQL Server" -u 27 mysql
    

    想问下为什么在创建用户组和用户的时候使用了非唯一 uid 和 gid ?比如本来有个用户组的 gid 已经是 27 了,不就不太好了吗?文件和目录权限可能会不安全?

    一直不太理解 Linux 系统中,non-unique uid 和 gid 的使用场景是什么?

    还有个问题是如果直接使用 useradd 命令创建用户的时候,如果不存在同名用户组,会自动创建一个同名的用户组。但有时候创建出来的 user 和 group 随机分配的 uid 和 gid 会不一样...而指定 uid 和 gid 时,因为无法知道系统中是否已经存在该 uid 和 gid ,可能会导致创建用户和组失败,是不是基于这个原因,使用了 non-unique uid 和 gid ?

    3 条回复    2024-10-12 16:02:36 +08:00
    adoal
        1
    adoal  
       79 天前   ❤️ 1
    认真看一下 man useradd 了解 -r 参数的意思
    adoal
        2
    adoal  
       79 天前
    你看看打包好的 rpm/deb 里,每个服务用的用户就是这样创建的,这个范围的 uid 按约定不用于交互登录用户,是拿来跑服务的系统用户,如果打包的撞车了是发行方的错,你自己乱用是你的错。打包的 post-inst 脚本里加-o ,是为了保证包升级、不同来源的兼容包平替等场景下不用考虑复杂的创建用户操作,已有的用户可以继续使用。
    NevadaLi
        3
    NevadaLi  
       79 天前
    Linux 中,自己造的用户,uid 大于 1000 ,比如 1001 ,1002.

    1000 以下的 uid 约定俗成用于常用服务,除非用户/软件不遵守规范乱用,否则一般不会重复的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1239 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:55 · PVG 01:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.