|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - update_users_jail Copyright(c) 2014 cPanel, Inc.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use warnings;
use Cpanel::PwCache ();
use Cpanel::PwDiskCache ();
use Cpanel::JailManager ();
use Cpanel::Logger ();
use Cpanel::Config::LoadCpConf ();
use Cpanel::Config::Users ();
use Whostmgr::Cron ();
my %SECURE_PWCACHE;
tie %SECURE_PWCACHE, 'Cpanel::PwDiskCache', 'load_callback' => \&Cpanel::PwCache::load, 'validate_callback' => \&Cpanel::PwCache::validate;
Cpanel::PwCache::init( \%SECURE_PWCACHE );
my $user = $ARGV[0];
my @users = $user ? ($user) : Cpanel::Config::Users::getcpusers();
my $logger = Cpanel::Logger->new();
my $jail_mgr = Cpanel::JailManager->new( 'log_func' => sub { $logger->warn(@_); } );
if ($user) {
my @PW = Cpanel::PwCache::getpwnam($user);
if ( !$PW[2] ) {
print "User: $0 [user]";
exit 1;
}
}
foreach my $user (@users) {
my @PW = Cpanel::PwCache::getpwnam($user);
my $shell = $PW[8];
if ( $shell =~ m{(?:no|jail)shell} ) {
my $cpconf_ref = Cpanel::Config::LoadCpConf::loadcpconf();
$jail_mgr->update_user($user) if $cpconf_ref->{'jailapache'};
}
else {
require Cpanel::Filesys::Virtfs;
Cpanel::Filesys::Virtfs::clean_user_virtfs($user);
}
my ( $ok, $msg ) = Whostmgr::Cron::sync_user_cron_shell($user);
warn "$msg\n" if !$ok;
}
exit 0;