gluon-packages/gluon/gluon-core/files/usr/lib/lua/gluon/users.lua

34 lines
984 B
Lua

local util = require 'gluon.util'
local os = os
local string = string
module 'gluon.users'
function add_user(username, uid, gid)
util.lock('/var/lock/passwd')
util.replace_prefix('/etc/passwd', username .. ':', string.format('%s:*:%u:%u::/var:/bin/false\n', username, uid, gid))
util.replace_prefix('/etc/shadow', username .. ':', string.format('%s:*:0:0:99999:7:::\n', username))
util.unlock('/var/lock/passwd')
end
function remove_user(username)
util.lock('/var/lock/passwd')
util.replace_prefix('/etc/passwd', username .. ':')
util.replace_prefix('/etc/shadow', username .. ':')
util.unlock('/var/lock/passwd')
end
function add_group(groupname, gid)
util.lock('/var/lock/group')
util.replace_prefix('/etc/group', groupname .. ':', string.format('%s:x:%u:\n', groupname, gid))
util.unlock('/var/lock/group')
end
function remove_group(groupname)
util.lock('/var/lock/group')
util.replace_prefix('/etc/group', groupname .. ':')
util.unlock('/var/lock/group')
end