![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/metras.v32.1/node_modules/parse-passwd/ |
'use strict'; /** * Parse the content of a passwd file into a list of user objects. * This function ignores blank lines and comments. * * ```js * // assuming '/etc/passwd' contains: * // doowb:*:123:123:Brian Woodward:/Users/doowb:/bin/bash * console.log(parse(fs.readFileSync('/etc/passwd', 'utf8'))); * * //=> [ * //=> { * //=> username: 'doowb', * //=> password: '*', * //=> uid: '123', * //=> gid: '123', * //=> gecos: 'Brian Woodward', * //=> homedir: '/Users/doowb', * //=> shell: '/bin/bash' * //=> } * //=> ] * ``` * @param {String} `content` Content of a passwd file to parse. * @return {Array} Array of user objects parsed from the content. * @api public */ module.exports = function(content) { if (typeof content !== 'string') { throw new Error('expected a string'); } return content .split('\n') .map(user) .filter(Boolean); }; function user(line, i) { if (!line || !line.length || line.charAt(0) === '#') { return null; } // see https://en.wikipedia.org/wiki/Passwd for field descriptions var fields = line.split(':'); return { username: fields[0], password: fields[1], uid: fields[2], gid: fields[3], // see https://en.wikipedia.org/wiki/Gecos_field for GECOS field descriptions gecos: fields[4], homedir: fields[5], shell: fields[6] }; }