- 引言
- 本书涉及的内容
- 第 1 部分 Python 开发入门
- 第 1 章 Python 入门
- 第 2 章 开发 Web 应用
- 第 3 章 Python 项目的结构与包的创建
- 第 4 章 面向团队开发的工具
- 第 5 章 项目管理与审查
- 第 6 章 用 Mercurial 管理源码
- 第 7 章 完备文档的基础
- 第 8 章 模块分割设计与单元测试
- 第 9 章 Python 封装及其运用
- 第 10 章 用 Jenkins 持续集成
- 第 11 章 环境搭建与部署的自动化
- 第 12 章 应用的性能改善
- 第 13 章 让测试为我们服务
- 第 14 章 轻松使用 Django
- 第 15 章 方便好用的 Python 模块
- 附录 A VirtualBox 的设置
- 附录 B OS(Ubuntu)的设置
B.4 添加用户
用于开发的服务器上常要运行许多应用,但从安全角度讲,最好不要用 root 用户来运行它们。
所以,我们需要根据应用的开发进度,设置能够通过 sudo 命令修改服务器和中间件设置的组以及用户。这里我们以添加 dev 组和 bpuser 用户为例进行学习。
首先用 bpbook 用户登录并创建组。如 LIST 6 所示,以 root 权限执行 groupadd 命令来创建 dev 组。
LIST 6 添加组
$ sudo groupadd dev
接下来创建用户。用 adduser 命令创建 bpuser 用户。此时用 --ingroup 选项指定 dev 可以让新用户加入 dev 组(LIST 7)。
LIST 7 添加用户
$ sudo adduser bpuser --ingroup dev
这样一来就创建了 bpuser 用户。需要删除用户时使用 userdel 命令进行删除(LIST 8)。
LIST 8 删除用户
$ sudo userdel -r bpuser
Ubuntu 14.04 默认有 sudo 组,被添加到这个组的用户均可以使用 sudo 命令。
LIST 9 向组添加用户
$ sudo usermod -aG sudo bpuser
不过在目前的设置下,dev 组的用户每次使用 sudo 命令都要输一遍密码,这必然影响开发环境的便捷性。因此我们要让 dev 组的用户在执行 sudo 命令时免去输入密码的麻烦。
我们在 /etc/sudoers.d/ 目录下创建一个文件,并给 dev 组设置权限。先执行下述 visudo 命令(LIST 10)。
LIST 10 执行 visudo
$ sudo visudo -f /etc/sudoers.d/dev
NOTE
对 sudo 进行个别设置时,尽量不要编辑原设置文件 /etc/sudoers,最好是如上所述在 /etc/sudoers.d/ 下放置设置文件。因为在升级 OS 等时容易无意中覆盖掉 /etc/sudoers 文件,导致所有账户都无法使用 sudo 命令。这样做可以免除上述顾虑。
执行 visudo 命令后会生成 /etc/sudoers.d/dev 文件。对该文件作如下描述。
LIST 11 sudo 设置示例
%dev ALL=(ALL) NOPASSWD:ALL
按照 LIST 11 所示设置之后,dev 组的所有用户就都可以不输入密码直接执行 sudo 命令了。
NOTE
本节,我们站在本地开发环境的角度,学习了如何设置无需密码执行 sudo 命令,以维持开发环境的便捷性。
但是,sudo 命令可以使用 root 权限对服务器进行操作,一旦用户被窃取,带来的损害将会非常大。这个风险我们一定要清楚。
因此,如果我们使用的是可通过互联网访问的共享服务器、正式运营的服务器,那么当我们考虑设置“无需密码执行 sudo 命令”时,一定要慎之又慎。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论