diff --git a/fileutil/fileutil.go b/fileutil/fileutil.go
index <HASH>..<HASH> 100644
--- a/fileutil/fileutil.go
+++ b/fileutil/fileutil.go
@@ -122,7 +122,7 @@ func ReadStringFromFile(pth string) (string, error) {
 //  this is the "permissions" info, which can be passed directly to
 //  functions like WriteBytesToFileWithPermission or os.OpenFile
 func GetFileModeOfFile(pth string) (os.FileMode, error) {
-	finfo, err := os.Stat(pth)
+	finfo, err := os.Lstat(pth)
 	if err != nil {
 		return 0, err
 	}
diff --git a/pathutil/pathutil.go b/pathutil/pathutil.go
index <HASH>..<HASH> 100644
--- a/pathutil/pathutil.go
+++ b/pathutil/pathutil.go
@@ -39,7 +39,7 @@ func genericIsPathExists(pth string) (os.FileInfo, bool, error) {
 	if pth == "" {
 		return nil, false, errors.New("No path provided")
 	}
-	fileInf, err := os.Stat(pth)
+	fileInf, err := os.Lstat(pth)
 	if err == nil {
 		return fileInf, true, nil
 	}
Use `Lstat` instead of `Stat` in `genericIsPathExists` & `GetFileModeOfFile`

The difference is symbolic links.

`Lstat`: If the file is a symbolic link, the returned FileInfo describes the symbolic link. Lstat makes no attempt to follow the link.