Linux server.nvwebsoft.co.in 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
Apache
: 162.240.12.249 | : 18.222.182.226
202 Domain
8.1.31
nbspublicschool
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
local /
share /
man /
man3 /
[ HOME SHELL ]
Name
Size
Permission
Action
App::cpanminus.3pm
14.28
KB
-r--r--r--
App::cpanminus::fatscript.3pm
26.28
KB
-r--r--r--
Bundle::DBD::mysql.3pm
4.09
KB
-r--r--r--
CPAN::Meta::Requirements.3pm
13.78
KB
-r--r--r--
CPAN::Meta::YAML.3pm
5.89
KB
-r--r--r--
Canary::Stability.3pm
5.84
KB
-r--r--r--
DBD::mysql.3pm
48.68
KB
-r--r--r--
DBD::mysql::INSTALL.3pm
30.13
KB
-r--r--r--
Data::Dump.3pm
10.51
KB
-r--r--r--
Data::Dump::Filtered.3pm
10.39
KB
-r--r--r--
Data::Dump::Trace.3pm
9
KB
-r--r--r--
Data::Validate::IP.3pm
15.68
KB
-r--r--r--
Devel::CheckLib.3pm
11.45
KB
-r--r--r--
Digest::MD5.3pm
16.16
KB
-r--r--r--
Error.3pm
21.39
KB
-r--r--r--
Error::Simple.3pm
8.15
KB
-r--r--r--
Expect.3pm
60.58
KB
-r--r--r--
Exporter.3pm
22.74
KB
-r--r--r--
Exporter::Heavy.3pm
4.1
KB
-r--r--r--
File::Copy::Recursive.3pm
18.63
KB
-r--r--r--
File::LckPwdF.3pm
11.21
KB
-r--r--r--
File::Path.3pm
32.74
KB
-r--r--r--
File::ReadBackwards.3pm
10.38
KB
-r--r--r--
File::Temp.3pm
39.49
KB
-r--r--r--
HTML::TagParser.3pm
14.01
KB
-r--r--r--
HTTP::Date.3pm
9.36
KB
-r--r--r--
HTTP::Tiny.3pm
29.24
KB
-r--r--r--
IO::AtomicFile.3pm
7.02
KB
-r--r--r--
IO::InnerFile.3pm
7.66
KB
-r--r--r--
IO::Lines.3pm
5.46
KB
-r--r--r--
IO::Pty.3pm
10.14
KB
-r--r--r--
IO::Scalar.3pm
12.19
KB
-r--r--r--
IO::ScalarArray.3pm
12.04
KB
-r--r--r--
IO::Stringy.3pm
5.72
KB
-r--r--r--
IO::Tty.3pm
9.91
KB
-r--r--r--
IO::Tty::Constant.3pm
11.25
KB
-r--r--r--
IO::Wrap.3pm
12.18
KB
-r--r--r--
IO::WrapTie.3pm
16.4
KB
-r--r--r--
JSON.3pm
64.46
KB
-r--r--r--
JSON::Syck.3pm
9.67
KB
-r--r--r--
JSON::XS.3pm
88.67
KB
-r--r--r--
JSON::XS::Boolean.3pm
4.55
KB
-r--r--r--
JSON::backportPP.3pm
65.09
KB
-r--r--r--
JSON::backportPP::Boolean.3pm
4.52
KB
-r--r--r--
JSON::backportPP::Compat5005.3...
4.39
KB
-r--r--r--
JSON::backportPP::Compat5006.3...
4.39
KB
-r--r--r--
Mail::RFC822::Address.3pm
7.11
KB
-r--r--r--
Mock::Config.3pm
7.73
KB
-r--r--r--
Module::Load.3pm
11.18
KB
-r--r--r--
Module::Load::Conditional.3pm
14.24
KB
-r--r--r--
NetAddr::IP.3pm
38.15
KB
-r--r--r--
NetAddr::IP::InetBase.3pm
14.65
KB
-r--r--r--
NetAddr::IP::Lite.3pm
26.89
KB
-r--r--r--
NetAddr::IP::Util.3pm
23.49
KB
-r--r--r--
NetAddr::IP::UtilPP.3pm
11.04
KB
-r--r--r--
POD2::DE::local::lib.3pm
24.23
KB
-r--r--r--
POD2::PT_BR::local::lib.3pm
24.62
KB
-r--r--r--
Path::Tiny.3pm
52.88
KB
-r--r--r--
Storable.3pm
45.41
KB
-r--r--r--
Template::Toolkit::Simple.3pm
13.37
KB
-r--r--r--
Test2.3pm
11.13
KB
-r--r--r--
Test2::API.3pm
37.22
KB
-r--r--r--
Test2::API::Breakage.3pm
6.63
KB
-r--r--r--
Test2::API::Context.3pm
25.52
KB
-r--r--r--
Test2::API::Instance.3pm
14.72
KB
-r--r--r--
Test2::API::InterceptResult.3p...
22
KB
-r--r--r--
Test2::API::InterceptResult::E...
26.72
KB
-r--r--r--
Test2::API::InterceptResult::H...
4.64
KB
-r--r--r--
Test2::API::InterceptResult::S...
4.77
KB
-r--r--r--
Test2::API::Stack.3pm
8.18
KB
-r--r--r--
Test2::Event.3pm
22.81
KB
-r--r--r--
Test2::Event::Bail.3pm
5.15
KB
-r--r--r--
Test2::Event::Diag.3pm
5.02
KB
-r--r--r--
Test2::Event::Encoding.3pm
5.36
KB
-r--r--r--
Test2::Event::Exception.3pm
5.3
KB
-r--r--r--
Test2::Event::Fail.3pm
4.93
KB
-r--r--r--
Test2::Event::Generic.3pm
9.66
KB
-r--r--r--
Test2::Event::Note.3pm
5.01
KB
-r--r--r--
Test2::Event::Ok.3pm
5.69
KB
-r--r--r--
Test2::Event::Pass.3pm
4.93
KB
-r--r--r--
Test2::Event::Plan.3pm
5.58
KB
-r--r--r--
Test2::Event::Skip.3pm
5.34
KB
-r--r--r--
Test2::Event::Subtest.3pm
5.25
KB
-r--r--r--
Test2::Event::TAP::Version.3pm
5.18
KB
-r--r--r--
Test2::Event::V2.3pm
8.26
KB
-r--r--r--
Test2::Event::Waiting.3pm
4.8
KB
-r--r--r--
Test2::EventFacet.3pm
5.57
KB
-r--r--r--
Test2::EventFacet::About.3pm
6.37
KB
-r--r--r--
Test2::EventFacet::Amnesty.3pm
6.16
KB
-r--r--r--
Test2::EventFacet::Assert.3pm
6.41
KB
-r--r--r--
Test2::EventFacet::Control.3pm
7.4
KB
-r--r--r--
Test2::EventFacet::Error.3pm
6.26
KB
-r--r--r--
Test2::EventFacet::Hub.3pm
7.12
KB
-r--r--r--
Test2::EventFacet::Info.3pm
8.17
KB
-r--r--r--
Test2::EventFacet::Info::Table...
7.16
KB
-r--r--r--
Test2::EventFacet::Meta.3pm
5.22
KB
-r--r--r--
Test2::EventFacet::Parent.3pm
6.31
KB
-r--r--r--
Test2::EventFacet::Plan.3pm
6.67
KB
-r--r--r--
Test2::EventFacet::Render.3pm
6.84
KB
-r--r--r--
Test2::EventFacet::Trace.3pm
12.58
KB
-r--r--r--
Test2::Formatter.3pm
7.9
KB
-r--r--r--
Test2::Formatter::TAP.3pm
6.38
KB
-r--r--r--
Test2::Hub.3pm
18.36
KB
-r--r--r--
Test2::Hub::Interceptor.3pm
4.63
KB
-r--r--r--
Test2::Hub::Interceptor::Termi...
4.67
KB
-r--r--r--
Test2::Hub::Subtest.3pm
5.48
KB
-r--r--r--
Test2::IPC.3pm
5.18
KB
-r--r--r--
Test2::IPC::Driver.3pm
10.51
KB
-r--r--r--
Test2::IPC::Driver::Files.3pm
5.49
KB
-r--r--r--
Test2::Tools::Tiny.3pm
8.45
KB
-r--r--r--
Test2::Transition.3pm
19.71
KB
-r--r--r--
Test2::Util.3pm
9.42
KB
-r--r--r--
Test2::Util::ExternalMeta.3pm
7.22
KB
-r--r--r--
Test2::Util::Facets2Legacy.3pm
9.88
KB
-r--r--r--
Test2::Util::HashBase.3pm
13.91
KB
-r--r--r--
Test2::Util::Trace.3pm
4.74
KB
-r--r--r--
Test::Builder.3pm
28.79
KB
-r--r--r--
Test::Builder::Formatter.3pm
4.85
KB
-r--r--r--
Test::Builder::IO::Scalar.3pm
11.27
KB
-r--r--r--
Test::Builder::Module.3pm
7.35
KB
-r--r--r--
Test::Builder::Tester.3pm
13.04
KB
-r--r--r--
Test::Builder::Tester::Color.3...
4.82
KB
-r--r--r--
Test::Builder::TodoDiag.3pm
4.82
KB
-r--r--r--
Test::Deep.3pm
47.56
KB
-r--r--r--
Test::Deep::NoTest.3pm
4.33
KB
-r--r--r--
Test::Fatal.3pm
10.69
KB
-r--r--r--
Test::File.3pm
23.7
KB
-r--r--r--
Test::More.3pm
43.96
KB
-r--r--r--
Test::Needs.3pm
7.27
KB
-r--r--r--
Test::Requires.3pm
5.93
KB
-r--r--r--
Test::Simple.3pm
10.67
KB
-r--r--r--
Test::Tester.3pm
17.76
KB
-r--r--r--
Test::Tester::Capture.3pm
4.59
KB
-r--r--r--
Test::Tester::CaptureRunner.3p...
4.37
KB
-r--r--r--
Test::Tutorial.3pm
25.46
KB
-r--r--r--
Test::Warnings.3pm
15.7
KB
-r--r--r--
Test::use::ok.3pm
5.52
KB
-r--r--r--
Text::Aligner.3pm
9.77
KB
-r--r--r--
Text::Table.3pm
27.18
KB
-r--r--r--
Time::Local.3pm
15.63
KB
-r--r--r--
Try::Tiny.3pm
22.09
KB
-r--r--r--
URI.3pm
40.31
KB
-r--r--r--
URI::Escape.3pm
9.58
KB
-r--r--r--
URI::Heuristic.3pm
6.84
KB
-r--r--r--
URI::QueryParam.3pm
8.26
KB
-r--r--r--
URI::Split.3pm
5.73
KB
-r--r--r--
URI::URL.3pm
6.19
KB
-r--r--r--
URI::WithBase.3pm
5.91
KB
-r--r--r--
URI::_punycode.3pm
6.32
KB
-r--r--r--
URI::data.3pm
5.98
KB
-r--r--r--
URI::file.3pm
12.16
KB
-r--r--r--
URI::ldap.3pm
7.36
KB
-r--r--r--
YAML::LibYAML.3pm
4.51
KB
-r--r--r--
YAML::Syck.3pm
12.34
KB
-r--r--r--
YAML::XS.3pm
9.57
KB
-r--r--r--
YAML::XS::LibYAML.3pm
3.99
KB
-r--r--r--
lib::core::only.3pm
7.28
KB
-r--r--r--
local::lib.3pm
32.78
KB
-r--r--r--
ok.3pm
4.55
KB
-r--r--r--
version.3pm
15.37
KB
-r--r--r--
version::Internals.3pm
31.34
KB
-r--r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : File::LckPwdF.3pm
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "LckPwdF 3" .TH LckPwdF 3 "1999-10-13" "perl v5.16.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" File::LckPwdF \- Lock and unlock the passwd and shadow files with lckpwdf and ulckpwdf .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use File::LckPwdF; \& \& (lock_passwd(15)) || (die "Can\*(Aqt lock password file:\en$! stopped"); \& \& # ... do stuff with the passwd file ... \& \& (unlock_passwd()) || (die "Can\*(Aqt unlock password file:\en$! stopped"); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is a perl module to use \fB\f(BIlckpwdf\fB\|(3)\fR and \fB\f(BIulckpwdf\fB\|(3)\fR to lock the \fI/etc/passwd\fR and (if present) \fI/etc/shadow\fR files. .SS "Functions exported automatically" .IX Subsection "Functions exported automatically" \&\fBlock_passwd($timeout)\fR .PP \&\fB\f(CB$timeout\fB\fR works as follows: .IP "1. The initial time is checked." 4 .IX Item "1. The initial time is checked." .PD 0 .ie n .IP "2. If \fB\fB$timeout\fB\fR is 0, it tries \fB\f(BIlckpwdf()\fB\fR until it succeeds, waiting a random time in between." 4 .el .IP "2. If \fB\f(CB$timeout\fB\fR is 0, it tries \fB\f(BIlckpwdf()\fB\fR until it succeeds, waiting a random time in between." 4 .IX Item "2. If $timeout is 0, it tries lckpwdf() until it succeeds, waiting a random time in between." .ie n .IP "3. If \fB\fB$timeout\fB\fR is above 0, it tries \fB\f(BIlckpwdf()\fB\fR once. If that (or any following \fB\f(BIlckpwdf()\fB\fR) succeeds, it returns 1. It will try \fB\f(BIlckpwdf()\fB\fR until either it succeeds or the time is greater than the initial time plus \fB\fB$timeout\fB\fR. In the latter case, it returns 0. It waits a random time in between tries of \fB\f(BIlckpwdf()\fB\fR." 4 .el .IP "3. If \fB\f(CB$timeout\fB\fR is above 0, it tries \fB\f(BIlckpwdf()\fB\fR once. If that (or any following \fB\f(BIlckpwdf()\fB\fR) succeeds, it returns 1. It will try \fB\f(BIlckpwdf()\fB\fR until either it succeeds or the time is greater than the initial time plus \fB\f(CB$timeout\fB\fR. In the latter case, it returns 0. It waits a random time in between tries of \fB\f(BIlckpwdf()\fB\fR." 4 .IX Item "3. If $timeout is above 0, it tries lckpwdf() once. If that (or any following lckpwdf()) succeeds, it returns 1. It will try lckpwdf() until either it succeeds or the time is greater than the initial time plus $timeout. In the latter case, it returns 0. It waits a random time in between tries of lckpwdf()." .PD .PP The random timeout is controlled by \fB\f(CB$File::LckPwdF::Rand_Wait\fB\fR, which is exported on request. It is used via .PP .Vb 1 \& sleep int(rand($Rand_Wait) + 1); .Ve .PP inside an until loop. This sleep is only done if \&\fB\f(CB$File::LckPwdF::Rand_Wait\fB\fR is above 0. .PP \&\fB\f(CB$timeout\fB\fR defaults to \fB\f(CB$File::LckPwdF::Default_Timeout\fB\fR, which is also exported on request; the initial setting of \&\fB\f(CB$File::LckPwdF::Default_Timeout\fB\fR (the default default) is 15 seconds. The default setting for \fB\f(CB$File::LckPwdF::Rand_Wait\fB\fR is 10 seconds. .PP \&\fB\f(BIunlock_passwd()\fB\fR .PP This function uses \fB\f(BIulckpwdf()\fB\fR. If \fB\f(BIlock_passwd()\fB\fR has previously been used to lock the passwd file, and \fB\f(BIunlock_passwd()\fB\fR has not been used to lock it, then it will be used to unlock the passwd file in an \&\s-1END:\s0 statement. (Admittedly, with many implementations of \&\fB\f(BIlckpwdf()\fB\fR this is not necessary, since when a process exits it loses the passwd file lock; it is present as a safety measure for those systems for which this is not true.) .SS "Functions exported by request" .IX Subsection "Functions exported by request" \&\fB\f(BIlckpwdf()\fB\fR \&\fB\f(BIulckpwdf()\fB\fR .PP These are the xs-loaded versions of \fB\f(BIlckpwdf\fB\|(3)\fR and \fB\f(BIulckpwdf\fB\|(3)\fR, respectively. .SH "RETURN VALUE" .IX Header "RETURN VALUE" The \fB\f(BIlock_passwd()\fB\fR and \fB\f(BIunlock_passwd()\fB\fR functions return 1 on success and 0 on failure. The return values for \fB\f(BIlckpwdf()\fB\fR and \&\fB\f(BIulckpwdf()\fB\fR are the same as for the system versions (\fB\f(BIlckpwdf\fB\|(3)\fR and \fB\f(BIulckpwdf\fB\|(3)\fR). .SH "ERRORS" .IX Header "ERRORS" If the effective \s-1UID\s0 is not 0, then \fB\f(BIlock_passwd()\fB\fR and \&\fB\f(BIunlock_passwd()\fB\fR set \fB$!\fR to \fB\s-1EACCES\s0\fR if they fail (they do try once, just in case you've got a \fIreally\fR weird setup). .PP If the effective \s-1UID\s0 is 0, in the event of failure, \fB\f(BIlock_passwd()\fB\fR sets \fB$!\fR to: .IP "1. if you've already locked the file through \fB\f(BIlock_passwd()\fB\fR, \fB\s-1EALREADY\s0\fR" 4 .IX Item "1. if you've already locked the file through lock_passwd(), EALREADY" .PD 0 .ie n .IP "2. \fB\s-1EAGAIN\s0\fR (or \fB\s-1EWOULDBLOCK\s0\fR, if \fB\s-1EAGAIN\s0\fR isn't present on your system and \fB\s-1EWOULDBLOCK\s0\fR is; \fB\fB$File::LckPwdF::EAGAIN\fB\fR, which is exported on request, is equal to the value returned)." 4 .el .IP "2. \fB\s-1EAGAIN\s0\fR (or \fB\s-1EWOULDBLOCK\s0\fR, if \fB\s-1EAGAIN\s0\fR isn't present on your system and \fB\s-1EWOULDBLOCK\s0\fR is; \fB\f(CB$File::LckPwdF::EAGAIN\fB\fR, which is exported on request, is equal to the value returned)." 4 .IX Item "2. EAGAIN (or EWOULDBLOCK, if EAGAIN isn't present on your system and EWOULDBLOCK is; $File::LckPwdF::EAGAIN, which is exported on request, is equal to the value returned)." .PD .PP \&\fB\f(BIunlock_passwd()\fB\fR, in the event of failure, sets \fB$!\fR to: .IP "1. if you've already unlocked the file via \fB\f(BIunlock_passwd()\fB\fR or haven't locked it via \fB\f(BIlock_passwd()\fB\fR, \fB\s-1EALREADY\s0\fR." 4 .IX Item "1. if you've already unlocked the file via unlock_passwd() or haven't locked it via lock_passwd(), EALREADY." .PD 0 .IP "2. \fB\s-1EINVAL\s0\fR." 4 .IX Item "2. EINVAL." .PD .PP If you try to use a negative number for \fB\f(CB$timeout\fB\fR with \&\fBlock_passwd($timeout)\fR, it carps, returns 0, and sets \fB$!\fR to \&\fB\s-1EINVAL\s0\fR. .SH "CAVEATS" .IX Header "CAVEATS" This program only works if your system has \fB\f(BIlckpwdf\fB\|(3)\fR and \&\fB\f(BIulckpwdf\fB\|(3)\fR. This should be true of \s-1SVR4\s0 systems; others will vary. If you use \fB\f(BIlock_passwd()\fB\fR and \fB\f(BIunlock_passwd()\fB\fR, \&\fB\f(BIlckpwdf\fB\|(3)\fR and \fB\f(BIulckpwdf\fB\|(3)\fR need to have return values of 0+ for success and below 0 (usually \-1) for failure. .PP The timeout period for \fB\f(BIlock_passwd()\fB\fR is approximate, since many versions of \fB\f(BIlckpwdf()\fB\fR will keep trying for a total of 15 seconds to lock the passwd (and possibly shadow) files before they return an appropriate value. .PP This module only keeps track on its own of whether the passwd file is locked if you always use \fB\f(BIlock_passwd()\fB\fR and \fB\f(BIunlock_passwd()\fB\fR. If you use \fB\f(BIlckpwdf()\fB\fR or \fB\f(BIulckpwdf()\fB\fR by themselves for locking and unlocking, you will need to set \fB\f(CB$File::LckPwdF::Passwd_Locked\fB\fR to 1 for locked and 0 for unlocked yourself. .SH "BUGS" .IX Header "BUGS" I haven't written any good automated tests for this program yet. If anyone's interested, be my guest (or for any other improvements, of course). .SH "AUTHOR" .IX Header "AUTHOR" E. Allen Smith, <easmith@beatrice.rutgers.edu>. Copyright 1998. This software may be used, distributed, modified, etcetera under the same conditions as \fBperl\fR. .SH "FILES" .IX Header "FILES" \&\fI/etc/passwd\fR, \fI/etc/shadow\fR .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIperl\fR\|(1), \fIlckpwdf\fR\|(3), \fIulckpwdf\fR\|(3)
Close