<% local sys = require "luci.sys" local utl = require "luci.util" --local sambagroup = luci.sys.sambagroup() function validate(username, password) user_used = sys.exec("cat /etc/passwd | grep -o ^" .. username .. ":") if #username > 10 then return translate("Username cannot be more than 10 characters.") elseif #username == 0 then return translate("Username cannot be empty.") elseif string.find(username, "%W") then return translate("Username should contain only alphanumeric characters.") elseif #user_used ~= 0 then return translate("Username already exists.") end if #password == 0 then return translate("Password is a required field.") end end function createUser(username, password) if username then for i=2001, 2999 do output = utl.trim(sys.exec("cat /etc/passwd | grep -c "..i.."")) if tonumber(output) == 0 then sys.call("adduser -D -H -u "..i.." "..username.." -s /bin/false") sys.call("echo -e \""..password.."\n"..password.."\" | smbpasswd -a "..username.." -s") break end end else return 1 end end %> <%+header%> <% add_user_clicked = false add_user_clicked = luci.http.formvalue("user-add-button") if add_user_clicked then local username = luci.http.formvalue("add-username") local password = luci.http.formvalue("add-password") err = validate(username, password) if err then %>
<%=err%>
<% else if createUser(username, password) ~= 1 then %> <% else %>
<%=translatef("Username %s already exists.", username)%>
<% end end end %>

<%=translate("Add user")%>:
<%=translate("Username")%> <%=translate("Password")%>