File: 0002_allow-chrooting-to-subfolders-of-home.patch

package info (click to toggle)
libnet-sftp-sftpserver-perl 1.1.0-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 492 kB
  • sloc: perl: 1,929; makefile: 10; sh: 2
file content (19 lines) | stat: -rw-r--r-- 837 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Description: Allow chrooting into subfolders of the user's $HOME
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
--- a/lib/Net/SFTP/SftpServer.pm
+++ b/lib/Net/SFTP/SftpServer.pm
@@ -401,7 +401,13 @@
   if (defined $arg{file_perms}){ $self->{file_perms} = $arg{file_perms} };
   if (defined $arg{dir_perms} ){ $self->{dir_perms}  = $arg{dir_perms}  };
 
-  $self->{home_dir} = "$self->{home}/$USER";
+  # if the given home already includes the user's home directory path, allow chroot'ing to a subfolder
+  # of the user's home directory
+  if ( $self->{home} =~ m/^$ENV{HOME}\/.*/ ) {
+    $self->{home_dir} = $self->{home};
+  } else {
+    $self->{home_dir} = "$self->{home}/$USER";
+  }
   $self->{FS} = Net::SFTP::SftpServer::FS->new();
   $self->{FS}->setChrootDir( $self->{home_dir} );
   unless ( -d $self->{home_dir} ){