Jenkins user and ssh config added 31/5331/1
authormatthew-mcneilly <matthew.mcneilly@est.tech>
Wed, 8 Jul 2020 17:18:49 +0000 (18:18 +0100)
committermatthew-mcneilly <matthew.mcneilly@est.tech>
Wed, 8 Jul 2020 17:18:53 +0000 (18:18 +0100)
Addition of Jenkins user
Disable ssh via password
Enalbe ssh via tokens
Disable env_reset requiretty
Add passwordless sudo

Signed-off-by: matthew-mcneilly <matthew.mcneilly@est.tech>
Change-Id: I2740677c1338ebdca92f41858088135c20b90774

infra/jenkins/slave-setup/uds-build-server/install-packages.sh

index 858fe24cb8645d06f18b82e89a0d6c66de6226f3..f890a3b8457c9a1a23589a814f7882ac70d29413 100644 (file)
@@ -16,7 +16,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
-
 set -ex
 
 sudo apt-get update
@@ -40,6 +39,21 @@ sudo add-apt-repository \
    stable"
 sudo apt-get update
 sudo apt-get install -y docker-ce=5:19.03.12~3-0~ubuntu-bionic docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic containerd.io
-sudo usermod -aG docker $USER
-newgrp docker
 docker --version
+
+
+# CREATE JENKINS USER
+# Crete homedir, add to sudo group, add entry in /etc/passwd
+sudo useradd -G sudo,docker -d /home/jenkins -m -c "jenkins user" -s /bin/bash jenkins
+# Create slave root directory
+sudo mkdir -p /home/jenkins/nordix/slave_root
+sudo chown -R jenkins:jenkins /home/jenkins/nordix/slave_root
+sudo chmod -R 755 /home/jenkins/nordix/slave_root
+# Modify sudoers - disable env_reset, !requiretty and passwordless sudo
+sudo sed -i "s/^Defaults.*env_reset/#&\nDefaults:jenkins  \!requiretty/" /etc/sudoers
+sudo sed -i "s/^%sudo.*ALL/%sudo   ALL=(ALL:ALL)   NOPASSWD: ALL/" /etc/sudoers
+# Disable ssh password login, enable ssh with keys for jenkins user
+sudo bash -c "echo PasswordAuthentication no >> /etc/ssh/sshd_config"
+sudo bash -c "echo PubkeyAuthentication yes >> /etc/ssh/sshd_config"
+sudo bash -c "echo AllowUsers jenkins >> /etc/ssh/sshd_config"
+sudo systemctl restart sshd