GoLang chroot

is this article helpful? yes | no
GoLang replacement for PHP's chroot [Golang Play | edit | history]
import (
    "os"
    "syscall"
)

// chroot changes the root directory of the current process to a new directory
func chroot(root string) error {
    // Change the root directory using syscall.Chroot
    err := syscall.Chroot(root)
    if err != nil {
        return err
    }

    // Change the working directory to "/"
    err = os.Chdir("/")
    if err != nil {
        return err
    }

    // Return nil if successful
    return nil
}

PHP chroot

PHP original manual for chroot [ show | php.net ]

chroot

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

chrootChange the root directory

Description

bool chroot ( string $directory )

Changes the root directory of the current process to directory, and changes the current working directory to "/".

This function is only available to GNU and BSD systems, and only when using the CLI, CGI or Embed SAPI. Also, this function requires root privileges.

Parameters

directory

The path to change the root directory to.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 chroot() example

<?php
chroot
("/path/to/your/chroot/");
echo 
getcwd();
?>

The above example will output:

/

Notes

Note: This function is not implemented on Windows platforms.