File manager for Webmin

Thanks, much appreciated - it is a great add-on for Webmin!

Great indeed, but can’t navigate outside the my user folder :))

It was dicussed several times. ACL will fix that.

Well you can if you configure your user’s home folder to be /

(But for me that screwed up ssh login with keys, otherwise it worked well!)

Version 0.9.2 is out.

THE LONG WAITED! THE MOST WANTED! THE ONE AND ONLY - ACL IS HERE!!!
Go grab it :smiley:

Full list of changes:

  • Switched to Webmin functions for HTTP/FTP Download, so download progress is shown now. Got rid of File::Fetch dependecy in module code.
  • HTTP/FTP Download now prompts for username and password on remote server, if any required user can provide it.
  • Removed “openlayers” folder. How did it get in here??? :smiley:
  • Completely rewrote upload.cgi. Now upload progress is shown with Webmin`s upload tracker.
    Memory usage is low due to direct HD write, even with REALLY big uploads(tested with 3 files totalling 1.61 GB).
    BEWARE: if user reaches his/her disk quota then Webmin simply resets connection with no errors, can do nothing with it right now.
  • Fixed “select-unselect” checkbox behavior for old themes.
  • Updated russian translation.
  • THE LONG WAITED! THE MOST WANTED! THE ONE AND ONLY - ACL!!!
    Default ACL behavior sets only one ACL entry ‘$HOME’ for each user. This locks user in $HOME directory.
    To grant full FS access to user replace ‘$HOME’ with ‘$ROOT’ in user’s ACL.
    If there’s only one entry in ACL then it counts as “home” or “chroot”, otherwise user will see accessible dirs relative to “/”, just like it is in old FM.
    Avoid trailing slash in ACL entries: “/usr/share/webmin” - gooooood, “/home/test/” - baaaaad.
    Root bypasses ACL completely.
    Note that even though user can be granted full FS access, he still works with his own privileges.
    So anything that requires “root” permissions or “sudo” won’t work.
  • Folders go first.
    Rewrote directory listing procedure, now folders appear before files in list as in any other adequate file manager.
    As a result first and second entry in ‘/’ are now visible :slight_smile:
    Note that sorting table with javascript under Authentic or Framed themes will mix everything again until page reload :wink:
  • Major code cleanup of rendering procedure.
  • Fixed copy/cut/paste functionality.
  • FreeBSD support added.
    Module uses Regexp::Common and URI packages to validate URIs in HTTP/FTP download functionality.
    Be sure to install theese to make functionality work.
    Admin user created during Webmin installation is not UNIX user, so module won’t work for him.
    If you want to provide some “system” file operations then convert “root” to Webmin user.

Downloading https://github.com/Real-Gecko/filemin/blob/master/distrib/filemin-0.9.2.linux.wbm.gz
… download complete.
Failed to install module from https://github.com/Real-Gecko/filemin/blob/master/distrib/filemin-0.9.2.linux.wbm.gz : Not a valid module file : gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now

Hello,

Get the same message as above.

Thanks for sharing this module.

Greatings,

Eric

Try https://github.com/Real-Gecko/filemin/raw/master/distrib/filemin-0.9.2.linux.wbm.gz

I decided to uninstall the wbm mode one and installed the debian package using this link

https://github.com/Real-Gecko/filemin/raw/master/distrib/webmin-filemin_0.9.2_all.deb

so hopefully updates in the future will be easier.

Seems to work fine - thanks again (sorry, not had a chance to test it much but looks good!)

jonny

p.s. Can’t wait for this to become a standard part of the webmin distribution - any chance? :slight_smile:

Hello,

It’s OK with this link : https://github.com/Real-Gecko/filemin/blob/master/distrib/filemin-0.9.2.linux.wbm.gz?raw=true

download the package, then install from local file.

Thank you,

Eric

If you want to install module directly from Webmin interface with direct link you must provide this URL

https://github.com/Real-Gecko/filemin/raw/master/distrib/filemin-0.9.2.linux.wbm.gz

FreeBSD users from

https://github.com/Real-Gecko/filemin/raw/master/distrib/filemin-0.9.2.freebsd.wbm.gz

You can not move your home directory to /

Unfortunately, the problem persist. Installed the latest update and I’m still stuck to the my_user home directory.

Ubuntu 12.04, My user are the Webmin admin user. and in sudo group.

Go to Webmin->Webmin Users->$YOUR_USERN_NAME->Available Webmin modules (in addition to those from group) and click Filemin. You will see “Filemin access control options”, input desired paths here, like /usr/share/webmin etc, one per line. If you want a full FS access then input only one option “$ROOT” there, and you’ll be happy :wink:

Thanks, managed to access all server files. Still one problem. Folders who belong users, eg. home/username/
are not accessible.

Following errors occured while performing operation
Error openind directory /backup Permission denied

Yes, I mentioned that in changelog. Your user works with his own privileges and listing other users’ home is not one of them :slight_smile:

If you want to use Filemin for administrative tasks, then unlock “root” user, he has no restrictions :wink:

I hoped that user who has the administrative privileges for Webmin/Virtualmin (and sudo) can have the same privileges to to access files too. As the Java File Manager has.
Practically I can access all root files and folders only folders belonging to other users and 0750 are locked now.

From my position, the root unlocking it’s not an option for production servers.

I looked for an answer to this before I posted but found none.

I am not sure how to download a file.

I though it would be just clicking on the file name. But it returns this,

"Error - Perl execution failed

Can’t locate CGI.pm in @INC (@INC contains: ./lib /usr/libexec/webmin /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/libexec/webmin/) at /usr/libexec/webmin/filemin/download.cgi line 6.
BEGIN failed–compilation aborted at /usr/libexec/webmin/filemin/download.cgi line 6."

Am I missing a module??

Thanks, Jason

Yes, I used CGI module before and now I’m not, however I forgot to remove dependency in module code. Sorry, for mistake, for now you can install CGI module manually and everything will work as planned. In the next release I will remove this unused dependency.

And from my positon, accessing file system with root privileges or sudo from web interface is not an option for production servers :wink:

Let me explain initial idea behind Filemin: it was created to grant Virtualmin domain owners access to their $HOME and espcecially to “public_html”. FTP sucks, it is my opinion I’m not going to discuss. But domain owners want to download/upload/compress/decompress/chmod/chown/etc files and folders located in their public_html. They deploy their sites, they install new modules, they backup folders, they even edit their CSS files online :smiley: That’s why Filemin was created and why it has such a restrictive permission model. If domain owner completely destroys his/her $HOME - I don’t care, the system will continue to work, that’s the most important.

But this forum thread shows that even sysadmins with root privileges want to edit files online, they want to download/upload/chmod/chown/etc, all that stuff those domain owners have with Filemin. And now I’m working on extending Filemin to make sysadmins happy too. However it is not as trivial as it seems, for example under FreeBSD there is user “admin” who may act as “root” in Webmin, but not a UNIX user at all, pure virtual, pure Webmin. I’ll do my best to solve “admin” user issues, but for now it is as it is.

I think it will be a better option to fork Filemin, I’m already working on creating pure Virtualmin version of Filemin, that will act as Virtualmin plugin with simplified privileges, while developing more complex security model for original Filemin.

I will just wait on the next release.

Thanks, Jason