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

说说你们生产服务器上都使用什么用户,权限是怎么管理的

  •  
  •   fancy2020 ·
    fanchangyong · 2020-02-13 10:07:44 +08:00 · 3998 次点击
    这是一个创建于 1524 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我先说说我的,一个服务器上跑了两个网站,都是我自己的个人网站。之前在阿里云上,自己建了个 www 用户,应用 代码放在 /opt,/opt 的 owner 是 www 用户。 后来服务器换到了 aws 上,有个默认的 ubuntu 用户,懒得新建,就用它了。 权限方面,由于服务器是我自己的,平时也就我自己登陆,所以我就把自己的 ssh key(public+private)直接复制放上去了。

    23 条回复    2020-02-14 12:22:04 +08:00
    loading
        1
    loading  
       2020-02-13 10:11:58 +08:00
    关键还是你运行 web 服务用户的权限,如果你用 root 运行 web 服务,那么如果程序有漏洞,那么他就是 root,省了提权这一步。

    如果只是个人用,能快速回复,用 root 我感觉问题也不是很大吧?

    请各位大佬指教。
    jorneyr
        2
    jorneyr  
       2020-02-13 10:12:35 +08:00
    root
    OllyDebug
        3
    OllyDebug  
       2020-02-13 10:14:38 +08:00 via iPhone
    root 无所谓的,开启 selinux
    d0m2o08
        4
    d0m2o08  
       2020-02-13 10:15:57 +08:00
    root ansible 一把梭
    superrichman
        5
    superrichman  
       2020-02-13 10:18:50 +08:00 via iPhone
    平常不用 root,自己建一个用户给 sudo 权限
    xyjincan
        6
    xyjincan  
       2020-02-13 10:28:31 +08:00
    端口转发就行了,要 root 干嘛
    las917vki
        7
    las917vki  
       2020-02-13 10:31:19 +08:00
    没有那么多麻烦。
    如果自己配置的话,公司引用基本上跑在 root 下面,只是某些国外公司的权限会比较特殊:
    登录 普通用户
    root 时 使用 sudo
    www 应用 wwwroot 之类
    app 引用 单独的用户
    一般 www 的没权限,app 应用根据那个 app 的需要,想访问的目录情况来配置。

    不过国内公司或者我本人基本上清一色 root,实在没那么多力气去操作。
    scukmh
        8
    scukmh  
       2020-02-13 10:56:55 +08:00   ❤️ 3
    public + private 全放上去什么操作?
    jinliming2
        9
    jinliming2  
       2020-02-13 11:02:48 +08:00 via iPhone
    1 绝大多数人使用 sudo 和直接 root 没太大区别,要是事事都 sudo 的话,您还是直接切到 root 用户吧,还省了 sudo 的麻烦……
    2 sudo 是用来给普通用户执行部分命令特权的工具,正常来讲,一般不会 ALL 权限的,而是给 xxx 用户分配执行 xxx 命令的权限,比如,允许 a 用户执行 poweroff,允许 b 用户执行 dnf 之类的……仅赋予最小权限。
    3 除了系统维护以外,基本没有任何操作是非 root 不可的,监听 < 1024 的端口,可以使用 set cap 给予端口监听权限。
    4 只有系统管理员可以操作两个用户(自己的非特权用户和 root 用户),其他用户都只能操作自己的非特权用户。若其他用户需要执行某特权操作,需要向系统管理员申请,系统管理员根据实际情况,帮助建目录、配权限、防火墙,或是分配 sudo 执行特定命令的权限。
    5 个人设备,自己就是系统管理员,省去了向管理员申请权限的操作,但还是要记住,把自己当作“其他用户”来对待,任何操作都在非特权用户下执行,不到万不得已,不给自己 root 用户的特权。
    fancy2020
        10
    fancy2020  
    OP
       2020-02-13 11:06:09 +08:00
    @scukmh 比如服务器上要从 github clone 代码,需要权限,把 key 都放上去服务器的权限就和我自己权限一样了。当然 github 可以配 deploy key,但也有限制,一个 key 只能用在一个项目上,我有两个项目在同一个机器上跑
    whileFalse
        11
    whileFalse  
       2020-02-13 11:14:50 +08:00
    不知道什么用户,不管理权限,我用容器。
    qile1
        12
    qile1  
       2020-02-13 11:15:21 +08:00 via Android
    用户名 administer 我在考虑要不要禁用了新建个用户,上面服务太多了,前几天还提醒有人异地登录,但是我那天没有登录,而且只有我可以登录
    realpg
        13
    realpg  
       2020-02-13 12:55:23 +08:00
    ubuntu 标注用户配置
    各种服务 用他们安装时候的自带权限
    远程登录带 sudoers 的普通用户
    gwy15
        14
    gwy15  
       2020-02-13 14:06:59 +08:00
    @fanchangyong 正常操作是每个机器都生成一套 key,公钥加到 GitHub 的 SSH Key 里面。
    Kaiyuan
        15
    Kaiyuan  
       2020-02-13 14:15:00 +08:00
    关于这个,最近我遇到一个问题,就是我想通过 PHP 发送魔术封包唤醒局域网设备,但是用 http 用户运行的 PHP 没法访问网卡...然后我还是用 root 运行了...
    garlics
        16
    garlics  
       2020-02-13 14:22:24 +08:00
    root + 777
    fancy2020
        17
    fancy2020  
    OP
       2020-02-13 16:16:36 +08:00
    @gwy15 这种思维是一个 key 对应一台机器,但我的想法是一个 key 代表一个人或一个组织。比如我自己用的设备就是所有都是同一个 key,已经用了好几年了,放在 dropbox 里,有新机器就 copy 下来。
    如果对应到公司的层面,我觉得可以每个部门一个 key 吧。
    如果每台机器都重新生成 key 的话,那管理起来会很麻烦吧
    fancy2020
        18
    fancy2020  
    OP
       2020-02-13 16:17:02 +08:00   ❤️ 1
    @garlics 大佬
    gwy15
        19
    gwy15  
       2020-02-13 16:25:33 +08:00
    @fanchangyong 为什么会麻烦呢……?生成密钥和加入信任池都可以自动化。
    vivisidea
        20
    vivisidea  
       2020-02-13 16:40:11 +08:00
    所以我就把自己的 ssh key(public+private)直接复制放上去了。
    ===

    private key 放上去做甚。。private key 必须放本地自己信任的机器上,有需要在服务器上 clone 就 ForwardAgent 啊
    fengtalk
        21
    fengtalk  
       2020-02-13 16:45:04 +08:00
    用户:www
    权限:
    - 文件 644
    - 目录 755
    ddsfeng
        22
    ddsfeng  
       2020-02-13 21:43:30 +08:00
    别问, 问就 docker , 应用跑 docker 里.
    zyq2280539
        23
    zyq2280539  
       2020-02-14 12:22:04 +08:00
    新建用户,配合 sudo 使用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1005 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:03 · PVG 04:03 · LAX 13:03 · JFK 16:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.