我先说说我的,一个服务器上跑了两个网站,都是我自己的个人网站。之前在阿里云上,自己建了个 www 用户,应用 代码放在 /opt,/opt 的 owner 是 www 用户。 后来服务器换到了 aws 上,有个默认的 ubuntu 用户,懒得新建,就用它了。 权限方面,由于服务器是我自己的,平时也就我自己登陆,所以我就把自己的 ssh key(public+private)直接复制放上去了。
![]() | 1 loading 2020-02-13 10:11:58 +08:00 关键还是你运行 web 服务用户的权限,如果你用 root 运行 web 服务,那么如果程序有漏洞,那么他就是 root,省了提权这一步。 如果只是个人用,能快速回复,用 root 我感觉问题也不是很大吧? 请各位大佬指教。 |
2 jorneyr 2020-02-13 10:12:35 +08:00 root |
3 OllyDebug 2020-02-13 10:14:38 +08:00 via iPhone root 无所谓的,开启 selinux |
![]() | 4 d0m2o08 2020-02-13 10:15:57 +08:00 root ansible 一把梭 |
5 superrichman 2020-02-13 10:18:50 +08:00 via iPhone 平常不用 root,自己建一个用户给 sudo 权限 |
![]() | 6 xyjincan 2020-02-13 10:28:31 +08:00 端口转发就行了,要 root 干嘛 |
7 las917vki 2020-02-13 10:31:19 +08:00 没有那么多麻烦。 如果自己配置的话,公司引用基本上跑在 root 下面,只是某些国外公司的权限会比较特殊: 登录 普通用户 root 时 使用 sudo www 应用 wwwroot 之类 app 引用 单独的用户 一般 www 的没权限,app 应用根据那个 app 的需要,想访问的目录情况来配置。 不过国内公司或者我本人基本上清一色 root,实在没那么多力气去操作。 |
![]() | 8 scukmh 2020-02-13 10:56:55 +08:00 ![]() public + private 全放上去什么操作? |
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 用户的特权。 |
10 fancy2020 OP @scukmh 比如服务器上要从 github clone 代码,需要权限,把 key 都放上去服务器的权限就和我自己权限一样了。当然 github 可以配 deploy key,但也有限制,一个 key 只能用在一个项目上,我有两个项目在同一个机器上跑 |
11 whileFalse 2020-02-13 11:14:50 +08:00 不知道什么用户,不管理权限,我用容器。 |
12 qile1 2020-02-13 11:15:21 +08:00 via Android 用户名 administer 我在考虑要不要禁用了新建个用户,上面服务太多了,前几天还提醒有人异地登录,但是我那天没有登录,而且只有我可以登录 |
![]() | 13 realpg PRO ubuntu 标注用户配置 各种服务 用他们安装时候的自带权限 远程登录带 sudoers 的普通用户 |
![]() | &nbp; 14 gwy15 2020-02-13 14:06:59 +08:00 @fanchangyong 正常操作是每个机器都生成一套 key,公钥加到 GitHub 的 SSH Key 里面。 |
![]() | 15 Kaiyuan 2020-02-13 14:15:00 +08:00 关于这个,最近我遇到一个问题,就是我想通过 PHP 发送魔术封包唤醒局域网设备,但是用 http 用户运行的 PHP 没法访问网卡...然后我还是用 root 运行了... |
![]() | 16 garlics 2020-02-13 14:22:24 +08:00 root + 777 |
17 fancy2020 OP @gwy15 这种思维是一个 key 对应一台机器,但我的想法是一个 key 代表一个人或一个组织。比如我自己用的设备就是所有都是同一个 key,已经用了好几年了,放在 dropbox 里,有新机器就 copy 下来。 如果对应到公司的层面,我觉得可以每个部门一个 key 吧。 如果每台机器都重新生成 key 的话,那管理起来会很麻烦吧 |
![]() | 19 gwy15 2020-02-13 16:25:33 +08:00 @fanchangyong 为什么会麻烦呢……?生成密钥和加入信任池都可以自动化。 |
![]() | 20 vivisidea 2020-02-13 16:40:11 +08:00 所以我就把自己的 ssh key(public+private)直接复制放上去了。 === private key 放上去做甚。。private key 必须放本地自己信任的机器上,有需要在服务器上 clone 就 ForwardAgent 啊 |
![]() | 21 fengtalk 2020-02-13 16:45:04 +08:00/span> 用户:www 权限: - 文件 644 - 目录 755 |
![]() | 22 xqin 2020-02-13 21:43:30 +08:00 别问, 问就 docker , 应用跑 docker 里. |
![]() | 23 zyq2280539 2020-02-14 12:22:04 +08:00 新建用户,配合 sudo 使用 |