nub 0.0.72 → 0.0.74
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/README.md +0 -1
- data/lib/nub/sys.rb +0 -35
- data/lib/nub/user.rb +30 -0
- data/lib/nub.rb +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ffdb482763d3dd17658facee344acf75ef8463d7674ec17f9ba76cf03d344bb
|
4
|
+
data.tar.gz: 2b06dce0bc8c96371ceccff078d65a429f9ea94e3fbdec09821fcf558f3a3e29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16862b70470c69da4da30d6f5e2b25b1e83731befaa2e5145f5023d7210c9a236f6de83278d8cfabbc07defd55d74c33e18f65b94c60c55f0ee2093d587555ec
|
7
|
+
data.tar.gz: 94b0ebffb80fbc6804d0ca27bd77a9dabcf63914c769f415a1b4b4065a15ddb6e2b940a3396984a68cda7a989ffbe6f347423f8278e0b1861107acd0e7ff9559
|
data/README.md
CHANGED
@@ -4,7 +4,6 @@ Collection of ruby utils I've used in several of my projects and wanted re-usabl
|
|
4
4
|
[](https://travis-ci.org/phR0ze/ruby-nub&branch=master)
|
5
5
|
[](https://badge.fury.io/rb/nub)
|
6
6
|
[](https://coveralls.io/github/phR0ze/ruby-nub?branch=master)
|
7
|
-
[](https://beta.gemnasium.com/projects/github.com/phR0ze/ruby-nub)
|
8
7
|
[](https://opensource.org/licenses/MIT)
|
9
8
|
|
10
9
|
### Table of Contents
|
data/lib/nub/sys.rb
CHANGED
@@ -61,23 +61,6 @@ module Sys
|
|
61
61
|
return OpenStruct.new(result: result, stdout: stdout.string, stderr: stderr.string)
|
62
62
|
end
|
63
63
|
|
64
|
-
# Drop root privileges to original user
|
65
|
-
# Only affects ruby commands not system commands
|
66
|
-
# Params:
|
67
|
-
# +returns+:: uid, gid of prior user
|
68
|
-
def drop_privileges()
|
69
|
-
uid = gid = nil
|
70
|
-
|
71
|
-
if Process.uid.zero?
|
72
|
-
uid, gid = Process.uid, Process.gid
|
73
|
-
sudo_uid, sudo_gid = ENV['SUDO_UID'].to_i, ENV['SUDO_GID'].to_i
|
74
|
-
Process::Sys.setegid(sudo_uid)
|
75
|
-
Process::Sys.seteuid(sudo_gid)
|
76
|
-
end
|
77
|
-
|
78
|
-
return uid, gid
|
79
|
-
end
|
80
|
-
|
81
64
|
# Get the given environment variable by nam
|
82
65
|
# @param var [String] name of the environment var
|
83
66
|
# @param required [Bool] require that the variable exists by default
|
@@ -137,18 +120,6 @@ module Sys
|
|
137
120
|
end
|
138
121
|
end
|
139
122
|
|
140
|
-
# Raise privileges if dropped earlier
|
141
|
-
# Only affects ruby commands not system commands
|
142
|
-
# Params:
|
143
|
-
# +uid+:: uid of user to assume
|
144
|
-
# +gid+:: gid of user to assume
|
145
|
-
def raise_privileges(uid, gid)
|
146
|
-
if uid and gid
|
147
|
-
Process::Sys.seteuid(uid)
|
148
|
-
Process::Sys.setegid(gid)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
123
|
# Remove given dir or file
|
153
124
|
# Params:
|
154
125
|
# +path+:: path to delete
|
@@ -185,12 +156,6 @@ module Sys
|
|
185
156
|
!puts("Error: Failed to umount #{mount}".colorize(:red)) and
|
186
157
|
exit if check[mount]
|
187
158
|
end
|
188
|
-
|
189
|
-
# Get the current user taking into account sudo
|
190
|
-
# @returns the current user
|
191
|
-
def user
|
192
|
-
return Process.uid.zero? ? Etc.getpwuid(ENV['SUDO_UID'].to_i).name : ENV['USER']
|
193
|
-
end
|
194
159
|
end
|
195
160
|
|
196
161
|
# vim: ft=ruby:ts=2:sw=2:sts=2
|
data/lib/nub/user.rb
CHANGED
@@ -26,6 +26,36 @@ require 'etc'
|
|
26
26
|
module User
|
27
27
|
extend self
|
28
28
|
|
29
|
+
# Drop root privileges to original user
|
30
|
+
# Only affects ruby commands not system commands
|
31
|
+
# Params:
|
32
|
+
# +returns+:: uid, gid of prior user
|
33
|
+
def drop_privileges()
|
34
|
+
uid = gid = nil
|
35
|
+
|
36
|
+
if Process.uid.zero?
|
37
|
+
uid, gid = Process.uid, Process.gid
|
38
|
+
sudo_uid, sudo_gid = ENV['SUDO_UID'].to_i, ENV['SUDO_GID'].to_i
|
39
|
+
Process::Sys.setegid(sudo_uid)
|
40
|
+
Process::Sys.seteuid(sudo_gid)
|
41
|
+
end
|
42
|
+
|
43
|
+
return uid, gid
|
44
|
+
end
|
45
|
+
|
46
|
+
# Raise privileges if dropped earlier
|
47
|
+
# Only affects ruby commands not system commands
|
48
|
+
# Params:
|
49
|
+
# +uid+:: uid of user to assume
|
50
|
+
# +gid+:: gid of user to assume
|
51
|
+
def raise_privileges(uid, gid)
|
52
|
+
if uid and gid
|
53
|
+
Process::Sys.seteuid(uid)
|
54
|
+
Process::Sys.setegid(gid)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
|
29
59
|
# Check if the current user has root privileges
|
30
60
|
def root?
|
31
61
|
return Process.uid.zero?
|
data/lib/nub.rb
CHANGED