Lines Matching full:local

6 local unistd = require("posix.unistd")
7 local sys_stat = require("posix.sys.stat")
8 local lfs = require("lfs")
10 local function warnmsg(str, prepend)
14 local tag = ""
21 local function errmsg(str, prepend)
26 local function dirname(oldpath)
30 local path = oldpath:gsub("[^/]+/*$", "")
37 local function mkdir_p(path)
41 local r, err = mkdir_p(dirname(path))
48 local function sethostname(hostname)
52 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
56 local hostnamepath = root .. "/etc/rc.conf.d/hostname"
59 local f, err = io.open(hostnamepath, "w")
68 local function splitlist(list)
69 local ret = {}
82 local function adduser(pwd)
87 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
88 local cmd = "pw "
92 local f = io.popen(cmd .. " usershow " .. pwd.name .. " -7 2> /dev/null")
93 local pwdstr = f:read("*a")
104 local extraargs = ""
106 local list = splitlist(pwd.groups)
120 local precmd = ""
121 local postcmd = ""
122 local input = nil
142 local r = f:close(cmd)
159 local function addgroup(grp)
164 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
165 local cmd = "pw "
169 local f = io.popen(cmd .. " groupshow " .. grp.name .. " 2> /dev/null")
170 local grpstr = f:read("*a")
175 local extraargs = ""
177 local list = splitlist(grp.members)
185 local r = os.execute(cmd)
194 local function addsshkey(homedir, key)
195 local chownak = false
196 local chowndotssh = false
197 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
201 local ak_path = homedir .. "/.ssh/authorized_keys"
202 local dotssh_path = homedir .. "/.ssh"
203 local dirattrs = lfs.attributes(ak_path)
214 local f = io.open(ak_path, "a")
231 local function update_sshd_config(key, value)
232 local sshd_config = "/etc/ssh/sshd_config"
233 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
237 local f = assert(io.open(sshd_config, "r+"))
238 local tgt = assert(io.open(sshd_config .. ".nuageinit", "w"))
239 local found = false
240 local pattern = "^%s*"..key:lower().."%s+(%w+)%s*#?.*$"
242 local line = f:read()
244 local _, _, val = line:lower():find(pattern)
264 local function exec_change_password(user, password, type, expire)
265 local root = os.getenv("NUAGE_FAKE_ROOTDIR")
266 local cmd = "pw "
270 local postcmd = " -H 0"
271 local input = password
286 local f = io.popen(cmd .. " >/dev/null", "w")
291 local r = f:close(cmd)
298 local function change_password_from_line(line, expire)
299 local user, password = line:match("%s*(%w+):(%S+)%s*")
300 local type = nil
314 local function chpasswd(obj)
319 local expire = false
364 local n = {