aboutsummaryrefslogtreecommitdiff
path: root/sysutils/google-compute-engine-oslogin/files/patch-bin_google__oslogin__control
blob: 0294fea503cac5d9ab8112bb323eced0a8637daa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
--- bin/google_oslogin_control.orig	2018-06-11 17:16:50 UTC
+++ bin/google_oslogin_control
@@ -65,24 +65,26 @@ overwrite_file() {
 
 remove_from_config() {
   config=$1
-  sed -i "/${added_comment}/,+1d" ${config}.new
+  gsed -i "/${added_comment}/,+1d" ${config}.new
 }
 
 remove_from_nss_config() {
-  sed -i '/^passwd:/ s/ cache_oslogin oslogin//' ${nss_config}.new
-  sed -i '/^passwd:/ s/ cache oslogin//' ${nss_config}.new
-  sed -i '/^passwd:/ s/ oslogin//' ${nss_config}.new
+  gsed -i '/^passwd:/ s/ cache_oslogin oslogin//' ${nss_config}.new
+  gsed -i '/^passwd:/ s/ cache oslogin//' ${nss_config}.new
+  gsed -i '/^passwd:/ s/ oslogin//' ${nss_config}.new
 }
 
 add_to_sshd_config() {
   remove_from_config ${sshd_config}
-  sed -i "\$a${added_comment}\n${sshd_command}" ${sshd_config}.new
-  sed -i "\$a${added_comment}\n${sshd_user}" ${sshd_config}.new
+  gsed -i "\$a${added_comment}\n${sshd_command}" ${sshd_config}.new
+  gsed -i "\$a${added_comment}\n${sshd_user}" ${sshd_config}.new
 }
 
 add_to_nss_config() {
   remove_from_nss_config
-  sed -i '/^passwd:/ s/$/ cache_oslogin oslogin/' ${nss_config}.new
+  gsed -i '/^passwd:/ s/$/ cache_oslogin oslogin/' ${nss_config}.new
+  # Replace compat by files (as compat cannot be used with other sources)
+  gsed -i '/^passwd:/ s/compat/files/' ${nss_config}.new
 }
 
 add_to_pam_config() {
@@ -99,9 +101,9 @@ ${pam_homedir}
 "
     echo "${added_config}$(cat ${pam_config}.new)" > ${pam_config}.new
   else
-    sed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_admin}" ${pam_config}.new
-    sed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_login}" ${pam_config}.new
-    sed -i "/pam_loginuid.so/ a${added_comment}\n${pam_homedir}" ${pam_config}.new
+    gsed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_admin}" ${pam_config}.new
+    gsed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_login}" ${pam_config}.new
+    gsed -i "/session.*pam_permit.so/ a${added_comment}\n${pam_homedir}" ${pam_config}.new
   fi
 }
 
@@ -115,7 +117,7 @@ restart_service() {
     fi
   fi
   if which service > /dev/null 2>&1; then
-    if service --status-all | grep -Fq ${service}; then
+    if service -e | grep -Fq ${service}; then
       echo "Restarting ${service}."
       service ${service} restart
       return $?