arvados-login-sync 0.1.20161012155037 → 0.1.20161018143726
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/arvados-login-sync +32 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e3ad3433425add7575e18420152fff83fb8c738
|
4
|
+
data.tar.gz: 5efbc9ab38321f8b6a4e997d63c469195919d7bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7c09fb2e812e1bf248e64312046998fcb3de7f1b001c82960dd10e2cff44698646c56a8fc23f09cfd8f75dca2abdf5231035e7c94ab8f204ccb4de0eec16e18
|
7
|
+
data.tar.gz: afc9b71294d789cdc032cb66495e0a97eaf961ad3844047eff9afed70025c751779d5c8785f03a2a3006a797b9dca44740b8a858b50e2ed22b05484ce3c16c54
|
data/bin/arvados-login-sync
CHANGED
@@ -14,6 +14,13 @@ req_envs.each do |k|
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
exclusive_mode = ARGV.index("--exclusive")
|
18
|
+
exclusive_banner = "#######################################################################################
|
19
|
+
# THIS FILE IS MANAGED BY #{$0} -- CHANGES WILL BE OVERWRITTEN #
|
20
|
+
#######################################################################################\n\n"
|
21
|
+
start_banner = "### BEGIN Arvados-managed keys -- changes between markers will be overwritten\n"
|
22
|
+
end_banner = "### END Arvados-managed keys -- changes between markers will be overwritten\n"
|
23
|
+
|
17
24
|
keys = ''
|
18
25
|
|
19
26
|
seen = Hash.new
|
@@ -87,20 +94,36 @@ begin
|
|
87
94
|
@homedir = Etc.getpwnam(l[:username]).dir
|
88
95
|
userdotssh = File.join(@homedir, ".ssh")
|
89
96
|
Dir.mkdir(userdotssh) if !File.exists?(userdotssh)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
if
|
96
|
-
|
97
|
-
|
97
|
+
|
98
|
+
newkeys = "###\n###\n" + keys[l[:username]].join("\n") + "\n###\n###\n"
|
99
|
+
|
100
|
+
keysfile = File.join(userdotssh, "authorized_keys")
|
101
|
+
|
102
|
+
if File.exists?(keysfile)
|
103
|
+
oldkeys = IO::read(keysfile)
|
104
|
+
else
|
105
|
+
oldkeys = ""
|
106
|
+
end
|
107
|
+
|
108
|
+
if exclusive_mode
|
109
|
+
newkeys = exclusive_banner + newkeys
|
110
|
+
elsif oldkeys.start_with?(exclusive_banner)
|
111
|
+
newkeys = start_banner + newkeys + end_banner
|
112
|
+
elsif (m = /^(.*?\n|)#{start_banner}(.*?\n|)#{end_banner}(.*)/m.match(oldkeys))
|
113
|
+
newkeys = m[1] + start_banner + newkeys + end_banner + m[3]
|
114
|
+
else
|
115
|
+
newkeys = start_banner + newkeys + end_banner + oldkeys
|
116
|
+
end
|
117
|
+
|
118
|
+
if oldkeys != newkeys then
|
119
|
+
f = File.new(keysfile, 'w')
|
120
|
+
f.write(newkeys)
|
98
121
|
f.close()
|
99
122
|
end
|
100
123
|
FileUtils.chown_R(l[:username], nil, userdotssh)
|
101
124
|
File.chmod(0700, userdotssh)
|
102
125
|
File.chmod(0750, @homedir)
|
103
|
-
File.chmod(0600,
|
126
|
+
File.chmod(0600, keysfile)
|
104
127
|
end
|
105
128
|
|
106
129
|
devnull.close
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arvados-login-sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20161018143726
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arvados Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: arvados
|
@@ -31,7 +31,7 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.1.20150615153458
|
33
33
|
description: Creates and updates local login accounts for Arvados users. Built from
|
34
|
-
git commit
|
34
|
+
git commit 94588fc14c200e4163144cd53bfa548a27fff7e0
|
35
35
|
email: gem-dev@curoverse.com
|
36
36
|
executables:
|
37
37
|
- arvados-login-sync
|