27 lines
832 B
Diff
27 lines
832 B
Diff
|
Index: cloud-init/cloudinit/SshUtil.py
|
||
|
===================================================================
|
||
|
--- cloud-init.orig/cloudinit/SshUtil.py
|
||
|
+++ cloud-init/cloudinit/SshUtil.py
|
||
|
@@ -4,6 +4,12 @@ import os
|
||
|
import os.path
|
||
|
import cloudinit.util as util
|
||
|
|
||
|
+try:
|
||
|
+ import selinux
|
||
|
+ HAVE_LIBSELINUX = True
|
||
|
+except ImportError:
|
||
|
+ HAVE_LIBSELINUX = False
|
||
|
+
|
||
|
class AuthKeyEntry():
|
||
|
# lines are options, keytype, base64-encoded key, comment
|
||
|
# man page says the following which I did not understand:
|
||
|
@@ -147,6 +153,8 @@ def setup_user_keys(keys, user, key_pref
|
||
|
util.write_file(authorized_keys, content, 0600)
|
||
|
|
||
|
os.chown(authorized_keys, pwent.pw_uid, pwent.pw_gid)
|
||
|
+ if HAVE_LIBSELINUX and selinux.is_selinux_enabled():
|
||
|
+ selinux.restorecon(ssh_dir, recursive=True)
|
||
|
|
||
|
os.umask(saved_umask)
|
||
|
|