initial commit [141.14.140.180,mike]
This commit is contained in:
Executable
+114
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/perl
|
||||
use Getopt::Std;getopts('z');
|
||||
|
||||
system("userdel ppb; rm -rf /home/ppb") if (-d "/home/ppb");
|
||||
system("userdel mike; rm -rf /home/mike") if (-d "/home/mike");
|
||||
|
||||
&ai('dnsutils','net-tools','zsh','joe','rsync','curl','fuse','libwww-perl',
|
||||
'libterm-readline-perl-perl','libterm-readpassword-perl','libdbd-mysql-perl','ntp',
|
||||
'libjson-perl','jq','unzip','7zip');
|
||||
|
||||
if ($opt_z) {
|
||||
if (-x "/usr/bin/zsh") {
|
||||
system("chsh root -s /usr/bin/zsh");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
system("locale-gen C.UTF-8");
|
||||
|
||||
system("mkdir /db");
|
||||
system("mkdir /db/bin");
|
||||
system("mkdir /db/backup");
|
||||
system("mkdir /db/backup/mysql");
|
||||
system("mkdir /db/tmp");
|
||||
system("mkdir /db/log");
|
||||
system("mkdir /db/lib");
|
||||
system("mkdir /db/data");
|
||||
system("mkdir /db/etc");
|
||||
system("mkdir /db/src");
|
||||
system("mkdir /db/upload");
|
||||
system("chmod 777 /db/tmp");
|
||||
system("chmod 777 /db/log");
|
||||
system("chmod 777 /db/upload");
|
||||
|
||||
system("mkdir -p ~/.joe/colors/");
|
||||
system("cp ./files/default.jcf ~/.joe/colors/default.jcf");
|
||||
system("cp ./files/joerc4 /root/.joerc");
|
||||
system("cp ./files/csh.cshrc /etc");
|
||||
system("cp ./files/rc.local.debian /etc/rc.local");
|
||||
system("chmod 755 /etc/rc.local");
|
||||
system("cp ./files/myuser /db/bin");
|
||||
system("cp ./files/mybackup /db/bin");
|
||||
system("cp ./files/dx /db/bin");
|
||||
system("cp ./files/gx /db/bin");
|
||||
system("cp ./files/gy /db/bin");
|
||||
system("cp ./files/telemetry /db/bin");
|
||||
system("cp ./files/rt /db/bin");
|
||||
system("cp ./files/mgsh /db/bin");
|
||||
system("cp ./files/locale /etc/default/locale");
|
||||
|
||||
system("cp ./files/zshrc /etc/zsh/zshrc");
|
||||
|
||||
system("rm /etc/motd; touch /etc/motd");
|
||||
|
||||
system("mkdir /root/.ssh") if (!-d "/root/.ssh");
|
||||
|
||||
|
||||
&readak("/root/.ssh/authorized_keys");
|
||||
&readak("./files/authorized_keys");
|
||||
|
||||
open(OUT,"> /root/.ssh/authorized_keys");
|
||||
for (sort(keys(%K))) {print OUT "$_\n" if (!/^\s*$/);}
|
||||
close(OUT);
|
||||
|
||||
sub readak() {
|
||||
my($file)=@_;
|
||||
if (-f $file) {open(IN,$file);while(<IN>) {chomp();$K{$_}=$_;}close(IN);}
|
||||
}
|
||||
|
||||
|
||||
system("chmod 700 /root/.ssh");
|
||||
system("chmod 600 /root/.ssh/authorized_keys");
|
||||
|
||||
if (!$opt_x) {
|
||||
system("/usr/bin/apt-get update");
|
||||
system("/usr/bin/apt-get upgrade");
|
||||
|
||||
if (is_debian_13_or_later()) {
|
||||
system("cp ./files/timesyncd.conf /etc/systemd/");
|
||||
|
||||
} else {
|
||||
system("service ntp stop");
|
||||
system("/usr/sbin/ntpd -gq");
|
||||
system("service ntp start");
|
||||
}
|
||||
}
|
||||
|
||||
sub ai {
|
||||
my @pkgs=@_;
|
||||
for (@pkgs) {
|
||||
system("/usr/bin/apt-get -y install $_");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub is_debian_13_or_later {
|
||||
return 0 unless -r '/etc/os-release';
|
||||
|
||||
my %os_release;
|
||||
open(my $fh, '<', '/etc/os-release') or return 0;
|
||||
while (my $line = <$fh>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([A-Z_]+)=(.*)$/) {
|
||||
my ($key, $val) = ($1, $2);
|
||||
$val =~ s/^"|"$//g;
|
||||
$os_release{$key} = $val;
|
||||
}
|
||||
}
|
||||
close($fh);
|
||||
|
||||
return 0 unless ($os_release{ID} // '') eq 'debian';
|
||||
return 0 unless ($os_release{VERSION_ID} // '') =~ /^(\d+)/;
|
||||
return $1 >= 13 ? 1 : 0;
|
||||
}
|
||||
Reference in New Issue
Block a user