เจฒเฉ‚เจจเจพเจŸเจฟเจ• v3.6 โ€” เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจธเจชเฉ‡เจธ เจฒเฉ‚เจ† เจฐเจจเจŸเจพเจˆเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ

เจฒเฉ‚เจจเจพเจŸเจฟเจ• v3.6 โ€” เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจธเจชเฉ‡เจธ เจฒเฉ‚เจ† เจฐเจจเจŸเจพเจˆเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ

เจฒเฉ‚เจจเจพเจŸเจฟเจ• เจฒเฉ‚เจ† เจตเจฟเฉฑเจš เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฒเจˆ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฒเจฟเจ–เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจนเฉˆเฅค เจตเจฟเจ•เจพเจธ เจ…เจงเฉ€เจจ เจฒเฉˆเจฌเจฒเฉ‚เจ† frameเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจฒเฉ‚เจ† เจคเจœเจฐเจฌเฉ‡ เจฆเฉ‡ เจธเจชเฉฑเจธเจผเจŸ เจนเจตเจพเจฒเจฟเจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ NetBSD เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš Lua เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚.

เจฎเฉเฉฑเจ– เจญเจพเจ—

  • เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจฒเฉ‚เจ† เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฟเจ† เจ—เจฟเจ†;
  • เจกเจฟเจตเจพเจˆเจธ เจกเจฐเจพเจˆเจตเจฐ (เจฒเฉ‚เจ† เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจ—เจ);
  • เจฏเฉ‚เจœเจผเจฐ เจธเจชเฉ‡เจธ เจคเฉ‹เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจšเจฒเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฐเจจเจŸเจพเจˆเจฎ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจก-เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ;
  • C API เจ•เจฐเจจเจฒ เจคเฉ‹เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเจจ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฐเจจเจŸเจพเจˆเจฎ เจตเจพเจคเจพเจตเจฐเจฃ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ;
  • เจฒเฉ‚เจ† เจเจชเฉ€เจ†เจˆ เจ•เจฐเจจเจฒ เจŸเฉ‚เจฒเจธ เจจเฉ‚เฉฐ เจ‡เจธ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ เจฒเฉ‚เจ† เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚.

เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

เจฒเฉ‚เจจเจพเจŸเจฟเจ• เจตเจฟเจ•เจพเจธ เจŸเฉ€เจฎ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจฏเฉ‹เจ—เจฆเจพเจจเฉ€เจ†เจ‚ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉ‚เฉฐ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‡เจ†: เจฌเจšเจค ะธ เจฎเจพเจฐเจธเฉ‡เจฒเจธเจŸเฉ‡เจจเจฒเฉ€ เจฐเจฟเฉฐเจ—-0 เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจธ เจคเฉ‹เจ‚, เจธเจผเจนเจฟเจฐเจฏเจพเจฐ, เจœเฉ‡เจชเฉ€เจฐเฉ‹เจจ, เจตเจฟเฉฐเจธเฉ‡เจ‚เจŸเจฎเจฒเฉ€, เจœเฉฐเจ—เจพเจฒ เจฒเฉฑเจ—เจฟเจ†, glk0, เจ…เจคเฉ‡ เจฌเฉ‡เจธเจผเฉฑเจ• เจฒเฉ‚เจจเจพเจŸเจฟเจ• 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹เจฐ เจธเจพเจฐเฉ‡ เจญเจพเจ—เฉ€เจฆเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐเฅค

เจธเจงเจพเจฐเจจ "เจชเจพเจธเจตเจฐเจก" เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจกเจฟเจตเจพเจˆเจธ เจกเจฐเจพเจˆเจตเจฐ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ

โ€” /lib/modules/lua/passwd.lua โ€” โ€” เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ /dev/passwd เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ โ€” เจตเจฐเจคเฉ‹เจ‚: $ sudo lunatik run passwd โ€” $ head -c /dev/passwd เจฒเฉ‹เจ•เจฒ เจกเจฟเจตเจพเจˆเจธ = require("device") เจฒเฉ‹เจ•เจฒ linux = require("linux") เจฒเฉ‹เจ•เจฒ เจซเฉฐเจ•เจธเจผเจจ nop() เจ…เฉฐเจค - เจ•เฉเจ เจจเจพ เจ•เจฐเฉ‹ เจฒเฉ‹เจ•เจฒ s = linux.stat เจฒเฉ‹เจ•เจฒ เจกเจฐเจพเจˆเจตเจฐ = {เจจเจพเจฎ = "passwd", เจ“เจชเจจ = nop, เจฐเฉ€เจฒเฉ€เจœเจผ = nop, เจฎเฉ‹เจก = s.IRUGO} เจซเฉฐเจ•เจธเจผเจจ เจกเจฐเจพเจˆเจตเจฐ:read() - read(2) เจ•เจพเจฒเจฌเฉˆเจ• - เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ ASCII เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจจ เจฏเฉ‹เจ— เจ…เฉฑเจ–เจฐ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‹ เจตเจพเจชเจธ string.char(linux.random(32, 126)) เจ…เฉฐเจค - เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ…เฉฑเจ–เจฐ เจกเจฟเจตเจพเจˆเจธ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ device.new(driver)

เจธเจฐเฉ‹เจค: linux.org.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹