标题可能解释得不够清楚,但我找不到更好的表达方式。我将运行一个用于办公的服务器。它将在 tomcat 上托管应用程序。两个不同的人将部署他们正在开发的应用程序(办公室政策,所有开发人员都应该熟悉它)。
我知道在 HDD 级别有ACL
一个模块,但我认为为此目的这样做有点小题大做。此外,它的用法对我来说不是那么清楚,因为我希望以某种方式使用它,这样我就可以列出允许的操作(如下所示),允许用户或组执行,而不是列出允许使用特定资源/脚本等的用户/组。
我想创建一个组,赋予一组特定的权限,例如:
- 在 /opt/tomcat*/webapps 中创建一个文件夹
* there could be different instances
- 启动/停止/重启特定的 tomcat 服务
example service tomcat-1 start
- 启动/停止/重新加载/重新启动 apache2
for reverse proxy purpose
- 编辑 /etc/apache2/sites-available
for reverse proxy purpose
- 使用 a2ensite 或 a2dissite 激活/停用网站
我如何在 Ubuntu 中实现这一点?
提前致谢
编辑:
感谢 Bacon,我得到了一些帮助。但看起来似乎有一些问题。我创建了用户 user1、user2、user3 并将他们添加到组deployers
。所有使用 创建的 tomcat 实例tomcat-user
都在其中,/opt/tomcat7/
因此我将文件夹的用户所有权更改为tomcat7
,并将组所有权更改为deployers
和chmod to 775
。我制作了一份/etc/init.d/tomcat7
适合每个实例的副本,并将它们添加到update-rc.d
。使用 visudo,我创建了DEPLOYERS
Cmnd_Alias 并对其进行了配置,如下所示:
Cmnd_Alias DEPLOYERS= /etc/init.d/tomcat_instance_1,/etc/init.d/tomcat_instance_2,/sbin/sh,/usr/bin/service
%deployers ALL=(ALL) DEPLOYERS
我已经使用 user1 凭据登录,但仍然无法运行,/etc/init.d/tomcat_instance_1 start
因为它显示“您需要 root 权限...”。
我以为命令别名会解决这个问题。有人能解释一下吗,谢谢?