Ori.livneh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/173364

Change subject: mediawiki: move beta::mwdeploy_sudo to mediawiki::users
......................................................................

mediawiki: move beta::mwdeploy_sudo to mediawiki::users

Currently, when deployers run scap, scap SSHs them into each application
servers and runs commands as mwdeploy and as apache by running 'sudo -u
mwdeploy ..', 'sudo -u apache ..', etc.  This is possible because users in the
wikidev group are allowed to sudo to mwdeploy and apache. We're changing scap
to make it SSH into each host as mwdeploy, using the shared keyholder key. To
make the migration smooth, we need to continue to allow scap to run commands on
application servers by running 'sudo -u mwdeploy' or ('-u apache'). At the
moment, however, mwdeploy is not allowed to sudo as itself.

Bryan has already done this for beta, so it's simply a matter of moving the
code to mediawiki::users rather than the beta-specific beta::mwdeploy_sudo.

This scheme conforms to the security hierarchy: 
https://wikitech.wikimedia.org/wiki/UID

Change-Id: I50a5aa3ffa102556f2efcd5ad3c2b7a046511722
---
M modules/beta/manifests/autoupdater.pp
D modules/beta/manifests/mwdeploy_sudo.pp
M modules/beta/manifests/scap/target.pp
M modules/mediawiki/manifests/users.pp
4 files changed, 11 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/64/173364/1

diff --git a/modules/beta/manifests/autoupdater.pp 
b/modules/beta/manifests/autoupdater.pp
index d31074b..3205801 100644
--- a/modules/beta/manifests/autoupdater.pp
+++ b/modules/beta/manifests/autoupdater.pp
@@ -6,7 +6,6 @@
 class beta::autoupdater {
     include ::beta::config
     require misc::deployment::common_scripts
-    include ::beta::mwdeploy_sudo
 
     $stage_dir = $::beta::config::scap_stage_dir
 
diff --git a/modules/beta/manifests/mwdeploy_sudo.pp 
b/modules/beta/manifests/mwdeploy_sudo.pp
deleted file mode 100644
index 9c4c4c6..0000000
--- a/modules/beta/manifests/mwdeploy_sudo.pp
+++ /dev/null
@@ -1,16 +0,0 @@
-# == Class: beta::mwdeploy_sudo
-#
-# Manage sudo rights for the mwdeploy user.
-#
-class beta::mwdeploy_sudo {
-    # Grant mwdeploy sudo rights to run anything as itself, apache or
-    # l10nupdate and to (re)start the hhvm fcgi service. This is a subset of
-    # the rights granted to the wikidev group by the mediawiki::users class.
-    sudo::user { 'mwdeploy' :
-        privileges => [
-            'ALL = (apache,mwdeploy,l10nupdate) NOPASSWD: ALL',
-            'ALL = (root) NOPASSWD: /sbin/restart hhvm',
-            'ALL = (root) NOPASSWD: /sbin/start hhvm',
-        ]
-    }
-}
diff --git a/modules/beta/manifests/scap/target.pp 
b/modules/beta/manifests/scap/target.pp
index 4958a4f..541c56f 100644
--- a/modules/beta/manifests/scap/target.pp
+++ b/modules/beta/manifests/scap/target.pp
@@ -5,7 +5,6 @@
 class beta::scap::target {
     include ::beta::config
     include ::mediawiki::scap
-    include ::beta::mwdeploy_sudo
 
     # Install authorized_keys for mwdeploy user
     file { '/etc/ssh/userkeys/mwdeploy':
diff --git a/modules/mediawiki/manifests/users.pp 
b/modules/mediawiki/manifests/users.pp
index 5f00aef..db1f493 100644
--- a/modules/mediawiki/manifests/users.pp
+++ b/modules/mediawiki/manifests/users.pp
@@ -106,6 +106,17 @@
         ],
     }
 
+    # Grant mwdeploy sudo rights to run anything as itself or apache.
+    # This allows MediaWiki deployers to deploy as mwdeploy.
+
+    sudo::user { 'mwdeploy':
+        privileges => [
+            'ALL = (apache,mwdeploy,l10nupdate) NOPASSWD: ALL',
+            'ALL = (root) NOPASSWD: /sbin/restart hhvm',
+            'ALL = (root) NOPASSWD: /sbin/start hhvm',
+        ]
+    }
+
     sudo::user { 'l10nupdate':
         require    => User['l10nupdate', 'mwdeploy'],
         privileges => ['ALL = (mwdeploy) NOPASSWD: ALL'],

-- 
To view, visit https://gerrit.wikimedia.org/r/173364
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I50a5aa3ffa102556f2efcd5ad3c2b7a046511722
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to