Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
GUI tool to setup mountable SFTP and WebDAV connections on Linux/UNIX systems.
Utility to setup mountable SFTP and WebDAV connections on Linux/UNIX systems.
Introduction
netdrive-connector is a simple PyQt4 wrapper for the existing and standardized
way to get SFTP and WebDAV shared folders (remote filesystems) mounted into your
local filesystem. Usually a folder inside your home folder. With the optional
addition of auto-mounting at desktop login and passwordless login.
It makes it quick and easy to get one of these shared folders up and running
without having to know how to set them up manually.
News
~~~~
**Version 1.3.2 released.**
The changes are as follows:
- Check for missing davfs2 group membership and warn user if so.
- Use *fusermount -u* instead of *umount* for sshfs unmount. On some
distros, unmount of a sshfs filesystem, by a normal user, will fail.
- Big improvement to automatic mount and unmount at login/logout.
This is no longer KDE centric and should work on any DE/WM that uses
``~/.config/autostart/*.desktop`` to start applications at login.
So far it's tested on the following distros: Slackware, openSUSE,
Debian and Ubuntu. And the following DE's: KDE4, KDE5, Gnome shell, MATE, XFCE,
LXDE, LXQt and Unity.
- Fix bug in adding SFTP connection without password-less key. Now it
no longer specifies the ssh key in the mount options.
Pros
~~~~
- Simple and effective.
- Uses robust existing technologies (sshfs, davfs2).
- No unnecessary config files or metadata.
- Saves learning how to set up these remote filesystems manually.
Cons
~~~~
- May inhibit learning of underlying techologies.
Current Limitations
Installation Notes
- Check in your distributions' repository first. If it's too out of date,
use one of the following methods instead.
- Package repos for various distros can be found on OpenSUSE Build Service
here: `<https://software.opensuse.org/download.html?project=home%3Aethoms&package=netdrive-connector>`_.
- Slackware has a SlackBuild available on SlackBuilds.org.
- Prebuilt packages are avaibale in the 'packages' directory. Make sure
dependencies are installed (see below).
- If no packages are available for your distribution, install distro specific
dependencies then install from PyPi (pip).
**From PyPi (pip)**
Make sure dependencies are installed (see below).
.. code-block::
pip2 install netdrive-connector
**From source**
Make sure dependencies are installed (see below).
.. code-block::
git clone https://github.com/ethoms/netdrive-connector.git
cd netdrive-connector
python setup.py sdist
pip install dist/netdrive-connector-*.tar.gz
**From basic rpm package**
Make sure dependencies are installed (see below).
*Caveats: this will create a very basic rpm package without dependency information.*
.. code-block::
git clone https://github.com/ethoms/netdrive-connector.git
cd netdrive-connector
python setup.py bdist_rpm
rpm -ivh netdrive-connector-*.noarch.rpm
This may be converted to other packaging systems using 'alien'.
See this `Alien How To <https://www.howtoforge.com/converting_rpm_to_deb_with_alien>`_.
Usage Notes
~~~~~~~~~~~
Any regular user that adds a connection will need to know the root user password. This is the
way that netdrive-connector elevates permissions. For a user that is an administrator
by use of sudo, they can set the root user password with the following command:
``sudo passwd root``.
Any regular user accounts that intend to mount a connection may need additional
unix groups ( fuse, sshfs, davfs2). This varies depending on the distribution.
In addition to the main GUI tool, there are command line utilities to add and remove
connections. These are as follows:
**add-sftp-connector**
.. code-block::
# add-sftp-connector
Usage (1): /usr/bin/add-sftp-connector username@server_url mount_point
Example : /usr/bin/add-sftp-connector bill@host1.example.com:/shares /home/bill/Shares
Example : /usr/bin/add-sftp-connector bill@host1.example.com:22/shares /home/bill/Shares
Usage (2): /usr/bin/add-sftp-connector username@server_url mount_point key
Example : /usr/bin/add-sftp-connector bill@host1.example.com:/shares /home/bill/Shares key
Example : /usr/bin/add-sftp-connector bill@host1.example.com:22/shares /home/bill/Shares key
Usage (3): /usr/bin/add-sftp-connector username@server_url mount_point key sftp_password
Example : /usr/bin/add-sftp-connector bill@host1.example.com:/shares /home/bill/Shares key opensesame
Example : /usr/bin/add-sftp-connector bill@host1.example.com:22/shares /home/bill/Shares key opensesame
!WARNING!: this method may save your password to the HISTFILE (command history)
NOTE: : options (2) and (3) will add a local ssh key to the remote authorized_keys for password-less login.
**remove-sftp-connector**
.. code-block::
# remove-sftp-connector
Usage (1): /usr/bin/remove-sftp-connector username@server_url mount_point
Example : /usr/bin/remove-sftp-connector bill@host1.example.com:22/shares /home/bill/Shares
**add-webdav-connector**
.. code-block::
# add-webdav-connector
Usage (1): /usr/bin/add-webdav-connector server_url mount_point
Example : /usr/bin/add-webdav-connector http://webdav.example.com:80/shares /home/bill/Shares
Usage (2): /usr/bin/add-webdav-connector server_url mount_point username
Example : /usr/bin/add-webdav-connector http://webdav.example.com:80/shares /home/bill/Shares bill
Usage (3): /usr/bin/add-webdav-connector server_url mount_point username password
Example : /usr/bin/add-webdav-connector http://webdav.example.com:80/shares /home/bill/Shares bill opensesame
!WARNING!: this method may save your password to the HISTFILE (command history)
NOTE: : options (2) and (3) will add an entry to the ~/.davfs2/secrets file for password-less login.
**remove-webdav-connector**
.. code-block::
# remove-webdav-connector
Usage (1): /usr/bin/remove-webdav-connector server_url mount_point
Example : /usr/bin/remove-webdav-connector http://webdav.example.com:80/shares /home/bill/Shares
Packaging Notes
~~~~~~~~~~~~~~~
- I'm always willing to assist in packaging for as many distros as possible. Create
an 'Issue' if you need assistance from me.
- Subject to the distribution and it's fuse, davfs2, sshfs packages, a user may need
adding to additional groups (fuse, davfs/davfs2 etc.). In Slackware, only the davfs2
group is required.
- An ssh-askpass program should be installed and configured to work with sshfs.
- At some point in the operation of adding/removing connections, a temporary
script is placed in /tmp and given execute permission. After use it is deleted.
A regular user will need permissions to do this.
- The setuid bit on /usr/bin/mount.davfs* must be set in order for a user to mount davfs2 filesystems.
Dependencies
~~~~~~~~~~~~
- **python** v2.7 or above (not python 3).
- **PyQt4** v4.8 or above (python-qt4 on debian based distros).
- **ssh-askpass**, or a variant of. Tested with *x11-ssh-askpass*.
- **expect** (version 5.x or above should be OK).
- **fuse**.
- **sshfs** (*sshfs-fuse*) v2.4 or above recommended.
- **davfs2** v1.4.6 or above recommended.
- **openssh-client**.
- awk, grep, ls, cut, chown, cat, chmod, sed, uname, who, groups.
*Note: Either davfs2 or sshfs are not required if that connection type is unused.*
Screenshots
~~~~~~~~~~~
**netdrive-connector Main Window**
.. image:: https://github.com/ethoms/netdrive-connector/blob/master/screenshots/netdrive-connector1.png
FAQs
GUI tool to setup mountable SFTP and WebDAV connections on Linux/UNIX systems.
We found that netdrive-connector demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.