diff --git a/changelog.html b/changelog.html
index 75918f163920c327b45027e2a3e92a20e567f67f..5fb20d8b1ace003d44a7c6534e7e19f40c8541b9 100644
--- a/changelog.html
+++ b/changelog.html
@@ -57,6 +57,8 @@ Upcoming changes
-
Bundling the translation assistance plugin in the hope of increasing the contribution.
+
-
+ Introduce a fine-grained permission to control who is allowed to run the Groovy Console.
diff --git a/core/src/main/java/hudson/cli/GroovyCommand.java b/core/src/main/java/hudson/cli/GroovyCommand.java
index 04705439143f5ec35c4c681f1857d793bb9374ec..2c44da6c94546ec73e9a9e02da245eda38fbfc7e 100644
--- a/core/src/main/java/hudson/cli/GroovyCommand.java
+++ b/core/src/main/java/hudson/cli/GroovyCommand.java
@@ -69,8 +69,8 @@ public class GroovyCommand extends CLICommand implements Serializable {
public List remaining = new ArrayList();
protected int run() throws Exception {
- // this allows the caller to manipulate the JVM state, so require the admin privilege.
- Jenkins.getInstance().checkPermission(Jenkins.ADMINISTER);
+ // this allows the caller to manipulate the JVM state, so require the execute script privilege.
+ Jenkins.getInstance().checkPermission(Jenkins.EXECUTE_SCRIPT);
Binding binding = new Binding();
binding.setProperty("out",new PrintWriter(stdout,true));
diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java
index 9581459cf4758eb65fc98687b235d0f8e78bac31..e4cbc00a3b976e7167eb98059c20ab1be976e77a 100644
--- a/core/src/main/java/jenkins/model/Jenkins.java
+++ b/core/src/main/java/jenkins/model/Jenkins.java
@@ -25,6 +25,7 @@
*/
package jenkins.model;
+import hudson.model.Messages;
import hudson.model.Node;
import hudson.model.AbstractCIBase;
import hudson.model.AbstractProject;
@@ -3125,7 +3126,7 @@ public class Jenkins extends AbstractCIBase implements ModifiableItemGroup
${%JenkinsCliText}
-
- ${%Executes arbitrary script for administration/trouble-shooting/diagnostics.}
-
+
+
+ ${%Executes arbitrary script for administration/trouble-shooting/diagnostics.}
+
+
${%Add, remove, control and monitor the various nodes that Jenkins runs jobs on.}
diff --git a/core/src/main/resources/lib/hudson/scriptConsole.jelly b/core/src/main/resources/lib/hudson/scriptConsole.jelly
index cd975737c0e648a2a973101e91ee8e37751a06d4..c6673401a595cb7ead2d9db4d82a9505a3f470c5 100644
--- a/core/src/main/resources/lib/hudson/scriptConsole.jelly
+++ b/core/src/main/resources/lib/hudson/scriptConsole.jelly
@@ -27,7 +27,7 @@ THE SOFTWARE.
-->
-
+