gluon-authorized-keys: add unauthorized_keys to remove access
This commit is contained in:
		
							parent
							
								
									1780bafafc
								
							
						
					
					
						commit
						c4ab768f4b
					
				| @ -1 +1,2 @@ | ||||
| need_string_array(in_site({'authorized_keys'})) | ||||
| need_string_array(in_site({'unauthorized_keys'}), false) | ||||
|  | ||||
| @ -4,6 +4,7 @@ local site = require 'gluon.site' | ||||
| local file = '/etc/dropbear/authorized_keys' | ||||
| 
 | ||||
| local keys = {} | ||||
| local rm_keys = {} | ||||
| 
 | ||||
| local function load_keys() | ||||
| 	for line in io.lines(file) do | ||||
| @ -11,12 +12,21 @@ local function load_keys() | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| for _, key in ipairs(site.unauthorized_keys({})) do | ||||
| 	rm_keys[key] = true | ||||
| end | ||||
| 
 | ||||
| pcall(load_keys) | ||||
| 
 | ||||
| local f = io.open(file, 'a') | ||||
| local f = io.open(file, 'w') | ||||
| for _, key in ipairs(site.authorized_keys()) do | ||||
| 	if not keys[key] then | ||||
| 		f:write(key .. '\n') | ||||
| 	end | ||||
| end | ||||
| for key, _ in pairs(keys) do | ||||
| 	if not rm_keys[key] then | ||||
| 		f:write(key .. '\n') | ||||
| 	end | ||||
| end | ||||
| f:close() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user