At line 1 added 51 lines |
(File Transfer API can be found here: [APIFileTransfer].) |
!!!Admin API Tool: (as of CrushFTP v8.1)\\ |
First launch the command line tool passing it the arguments as an admin username and password (CrushTunnel.jar is located in your WebInterface folder):\\ |
{{{ |
java -jar CrushTunnel.jar https://crushamdin:password@yourserver.com/ |
}}} |
Now you can issue the user command to add a user, assign a VFS.\\ |
{{{ |
user user_add MainUsers user3 password=password |
user vfs_add MainUsers user3 path=/home/ privs=(read)(write)(resume)(delete)(view) url=file://home/ name=home |
user vfs_delete MainUsers user3 path=/home/ name=home |
}}} |
Where: |
|
"path" is the FTP style path to the folder, relative to the user's virtual root, "/". |
|
"privs" the user VFS folder permissions, can be any combination of (read)(write)(view)(delete)(deletedir)(makedir)(rename)(resume)(share)(slideshow)(invisible)(ratio) |
(replicate)(locked) , for details see our user VFS related docs page. |
|
|
"url" the true URL pointing to the folder itself. |
|
|
|
You can also assign groups, and inheritance:\\ |
{{{ |
user group_add MainUsers user3 groupname |
user inheritance_add MainUsers user3 groupname |
}}} |
Or remove a user from a group or inheritance:\\ |
{{{ |
user group_delete MainUsers user3 groupname |
user inheritance_delete MainUsers user3 groupname |
}}} |
You can use the user API call in CrushTunnel.jar to set the field: allowed_protocols to configure Port restrictions |
{{{ |
ftp:0,ftps:0,sftp:0,http:0,https:0,webdav:0, |
}}} |
That is the default, but if you only wanted to allow sftp and https, you could do: |
sftp:0,https:0, |
|
|
Its also possible to tell the server to run a Job if you want to remote control jobs:\\ |
{{{ |
job remote MyFindJob |
}}} |
|
\\ |
\\ |
\\ |
!!!Alternative methods using raw CURL commands:\\ |
At line 5 changed one line |
'(The attachments tab at the top contains the sample files.)'\\ |
''(The attachments tab at the top contains the sample files.)''\\ |
At line 58 added one line |
\\ |
At line 60 added 12 lines |
!Registering CrushFTP service from command line. |
---- |
|
Uses a command to register the CrushFTP license key in case you need to deploy on multiple machines E3 specific, and need to automate the registration. |
The spaces and special characters need to be URL encoded |
|
{{{ |
curl -d command=registerCrushFTP -d registration_name=MY%2520NAME -d registration_email=MYNAME%2540MYEMAIL.COM.EXAMPLE -d registration_code=my_reg_code -u crushadmin:'password' http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)'' |
\\ |
---- |
At line 16 changed one line |
(long line, so get it all) |
''(long line, so get it all)'' |
At line 27 changed one line |
(long line, so get it all) |
''(long line, so get it all)'' |
At line 99 added one line |
''(long line, so get it all)'' |
At line 106 added 46 lines |
''(long line, so get it all)'' |
\\ |
\\ |
!!Groups and Inheritance:\\ |
\\ |
Add some users into a group, it will make the group if it doesn't exist:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=add -d group_name=MyGroup -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
\\ |
Delete users from a group:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=delete -d group_name=MyGroup -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
\\ |
Delete an entire group:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=delete -d group_name=MyGroup -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
\\ |
Add some users to inheritance, it will make the inheritance if it doesn't exist:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=add -d inheritance_name=AdminTemplate -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
\\ |
Delete users from an inheritance item:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=delete -d inheritance_name=AdminTemplate -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
\\ |
Delete an entire inheritance:\\ |
{{{ |
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=delete -d inheritance_name=AdminTemplate -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |
|
Run a remote job on the server:\\ |
{{{ |
curl -d command=testJobSchedule -d scheduleName=MyFindJob -d async=false -d response_type=all -d myparam1=happy -u crushadmin:pass http://127.0.0.1:8080/ |
}}} |
''(long line, so get it all)''\\ |