X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=libs%2Fsys%2Fluasrc%2Fsys.lua;h=0c18a3636ae545e976e9d839e47b3953bd3d433e;hp=0bf92e9da4a20d734ae95cedf4911a466bcb510f;hb=07a8c9c43ddecbad508096b8bb1c86bb92c869d1;hpb=fb2f4af1fbc0170827b7ed17be681a30fc0fca86 diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 0bf92e9da..0c18a3636 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -440,11 +440,17 @@ function user.checkpasswd(username, password) local pwd = account.passwd local shadowpw if #pwd == 1 then - for l in io.lines("/etc/shadow") do - shadowpw = l:match("^%s:([^:]+)" % username) - if shadowpw then - pwd = shadowpw - break + if luci.fs.stat("/etc/shadow") then + if not pcall(function() + for l in io.lines("/etc/shadow") do + shadowpw = l:match("^%s:([^:]+)" % username) + if shadowpw then + pwd = shadowpw + break + end + end + end) then + return nil, "Unable to access shadow-file" end end