403Webshell
Server IP : 104.21.84.107  /  Your IP : 104.23.197.208
Web Server : Apache/2.4.63 (Ubuntu)
System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.4.5
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /snap/core22/current/lib/usrmerge/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /snap/core22/current/lib/usrmerge/convert-etc-shells
#!/usr/bin/perl
# vim: shiftwidth=4 tabstop=4
#
# Copyright 2016 by Marco d'Itri <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

use lib "/usr/lib/usrmerge/lib";
use warnings;
use strict;
use autodie;
use v5.16;

convert('/etc/shells');
exit;

sub convert {
	my ($file) = @_;

	my (@shells, @nonusr_shells, %seen_in_usr);

	open(my $in, '<', $file);
	while (<$in>) {
		chomp;
		push(@shells, $_);
		$seen_in_usr{$1} = 1 if m#^/usr(/s?bin/.+)#;
		push(@nonusr_shells, $_) if m#^/s?bin/#;
	}
	close $in;

	my @new_shells =					# and add them to the list
		map { "/usr$_" }				# add /usr to their path
		grep { not $seen_in_usr{$_} }	# if they do not already exist in /usr
		@nonusr_shells;					# for each shell not in /usr

	return unless @new_shells;

	open(my $out, '>', "$file.tmp");
	say $out $_ foreach @shells, @new_shells;
	close $out;

	rename("$file.tmp", $file);
}


Youez - 2016 - github.com/yon3zu
LinuXploit