⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
perl5
/
Virtualmin
/
Config
/
Plugin
/
View File Name :
Shells.pm
package Virtualmin::Config::Plugin::Shells; use strict; use warnings; no warnings qw(once); use parent 'Virtualmin::Config::Plugin'; use Time::HiRes qw( sleep ); # XXX Figure out how to not need this. our $config_directory; our (%gconfig, %miniserv); our $trust_unknown_referers = 1; sub new { my ($class, %args) = @_; # inherit from Plugin my $self = $class->SUPER::new(name => 'Shells', %args); return $self; } # actions method performs whatever configuration is needed for this # plugin. XXX Needs to make a backup so changes can be reverted. sub actions { my $self = shift; use Cwd; my $cwd = getcwd(); my $root = $self->root(); chdir($root); $0 = "$root/virtual-server/config-system.pl"; push(@INC, $root); eval 'use WebminCore'; ## no critic init_config(); $self->spin(); sleep 0.3; # XXX Useless sleep, prevent spin from ending before it starts eval { my $lref = read_file_lines("/etc/shells"); my $idx = indexof("/bin/false", @$lref); if ($idx < 0) { # XXX Do we need jk_chrootsh here, or is it added by the package? push(@$lref, "/bin/false"); flush_file_lines("/etc/shells"); } $self->done(1); # OK! }; if ($@) { $self->done(0); } } 1;