Skip to content

Commit d160b44

Browse files
committed
file manager api commands
1 parent 2a02e56 commit d160b44

File tree

3 files changed

+133
-0
lines changed

3 files changed

+133
-0
lines changed

bin/v-copy-fs-file

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
# File copier
3+
4+
user=$1
5+
file_src=$2
6+
file_dst=$3
7+
8+
# Checking arguments
9+
if [ -z "$file_dst" ]; then
10+
echo "Usage: USER SRC_FILE DST_FILE"
11+
exit 1
12+
fi
13+
14+
# Checking users
15+
if [ ! -e "$VESTA/data/users/$user" ]; then
16+
exit 1
17+
fi
18+
19+
# Checking homedir
20+
homedir=$(grep "^$user:" /etc/passwd | cut -f 6 -d :)
21+
if [ -z $homedir ]; then
22+
exit 1
23+
fi
24+
25+
# Checking source file
26+
if [ ! -e "$file_src" ]; then
27+
exit 1
28+
fi
29+
30+
# Checking source path
31+
rpath=$(readlink -f "$file_src")
32+
if [ -z "$(echo $rpath |grep ^/tmp)" ]; then
33+
exit 1
34+
fi
35+
36+
# Checking destination path
37+
rpath=$(readlink -f "$file_dst")
38+
if [ -z "$(echo $rpath |grep ^$homedir)" ]; then
39+
exit 1
40+
fi
41+
42+
# Checking dst file permission
43+
if [ -e "$file_dst" ]; then
44+
perms=$(stat --format '%a' $file_dst)
45+
fi
46+
47+
# Copying file
48+
cp $file_src $file_dst
49+
50+
# Changing ownership
51+
chown $user:$user $file_dst
52+
53+
# Changin permissions
54+
if [ ! -z "$perms" ]; then
55+
chmod $perms $file_dst
56+
fi
57+
58+
exit

bin/v-list-fs-directory

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
# File list wrapper
3+
4+
user=$1
5+
path=$2
6+
7+
# Checking arguments
8+
if [ -z "$user" ]; then
9+
echo "Usage: USER [PATH]"
10+
exit 1
11+
fi
12+
13+
# Checking users
14+
if [ ! -e "$VESTA/data/users/$user" ]; then
15+
exit 1
16+
fi
17+
18+
# Checking homedir
19+
homedir=$(grep "^$user:" /etc/passwd | cut -f 6 -d :)
20+
if [ -z $homedir ]; then
21+
exit 1
22+
fi
23+
24+
# Checking path
25+
if [ ! -z "$path" ]; then
26+
# Validating absolute path
27+
rpath=$(readlink -f "$path")
28+
if [ -z "$(echo $rpath |grep $homedir)" ]; then
29+
exit 1
30+
fi
31+
else
32+
path=$homedir
33+
fi
34+
35+
# Listing files
36+
find "$path" -maxdepth 1 -printf "%y/%m/%TY-%Tm-%Td/%TH:%TM:%TS/%u/%g/%s/%P\n"
37+
38+
39+
exit

bin/v-open-fs-file

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
# File reader
3+
4+
user=$1
5+
path=$2
6+
7+
# Checking arguments
8+
if [ -z "$path" ]; then
9+
echo "Usage: USER PATH"
10+
exit 1
11+
fi
12+
13+
# Checking users
14+
if [ ! -e "$VESTA/data/users/$user" ]; then
15+
exit 1
16+
fi
17+
18+
# Checking homedir
19+
homedir=$(grep "^$user:" /etc/passwd | cut -f 6 -d :)
20+
if [ -z $homedir ]; then
21+
exit 1
22+
fi
23+
24+
# Checking path
25+
if [ ! -z "$path" ]; then
26+
# Validating absolute path
27+
rpath=$(readlink -f "$path")
28+
if [ -z "$(echo $rpath |grep $homedir)" ]; then
29+
exit 1
30+
fi
31+
fi
32+
33+
cat "$path"
34+
35+
exit
36+

0 commit comments

Comments
 (0)