SysTutorials

Mount Google Drive on Linux Using rclone

· updated April 11, 2026

rclone is the modern standard for mounting Google Drive on Linux — it’s actively maintained, handles authentication reliably, and works across distributions without compilation.

Install rclone

Most distributions package rclone. Install via your package manager:

# Debian/Ubuntu
sudo apt install rclone

# Fedora/RHEL
sudo dnf install rclone

# Arch
sudo pacman -S rclone

Or install the latest version directly:

curl https://rclone.org/install.sh | sudo bash

Configure rclone for Google Drive

Start the configuration wizard:

rclone config

Follow the interactive prompts:

  1. Create a new remote — name it gdrive (or your preference)
  2. Choose drive as the storage type
  3. Leave client ID and secret blank (rclone uses built-in credentials)
  4. Select your preferred scope:
    • Full access: Access all files on your Drive
    • Drive.file: Access only app-created files (more restrictive, safer)
  5. Authorize by visiting the provided URL in your browser and grant permissions

This creates ~/.config/rclone/rclone.conf with your credentials. Verify the file contains an [gdrive] section with your token.

Mount Google Drive

Create a mount directory:

mkdir -p ~/gdrive

Mount your Drive:

rclone mount gdrive: ~/gdrive --vfs-cache-mode full &

Your Google Drive is now accessible at ~/gdrive. The --vfs-cache-mode full flag caches files locally for better performance and offline access.

Mount options

For better reliability and performance, use these options:

rclone mount gdrive: ~/gdrive \
  --vfs-cache-mode full \
  --vfs-cache-max-age 168h \
  --cache-dir ~/.cache/rclone \
  --allow-other \
  --no-checksum \
  --dir-cache-time 1h

What each option does:

Unmount

Unmount the drive:

fusermount -u ~/gdrive

Or if you mounted in the background:

killall rclone

Persistent mount with systemd

For automatic mounting on login and auto-recovery on failure, create a user systemd service.

Create ~/.config/systemd/user/rclone-gdrive.service:

[Unit]
Description=rclone Google Drive mount
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount gdrive: %h/gdrive \
  --vfs-cache-mode full \
  --vfs-cache-max-age 168h \
  --cache-dir %h/.cache/rclone \
  --dir-cache-time 1h \
  --log-level INFO
ExecStop=/bin/fusermount -u %h/gdrive
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

Enable and start the service:

systemctl --user daemon-reload
systemctl --user enable --now rclone-gdrive.service

Check status:

systemctl --user status rclone-gdrive.service
journalctl --user -u rclone-gdrive.service -f

Multiple Google Drive accounts

To mount multiple accounts, create separate remotes during rclone config. For example:

rclone config
# Create remotes: [gdrive-personal], [gdrive-work], etc.

Then create separate systemd services for each:

cp ~/.config/systemd/user/rclone-gdrive.service ~/.config/systemd/user/rclone-gdrive-work.service

Edit rclone-gdrive-work.service and change:

Then enable and start:

systemctl --user daemon-reload
systemctl --user enable --now rclone-gdrive-work.service

Security and performance considerations

Credential security: Credentials in ~/.config/rclone/rclone.conf are stored in plain text. Restrict permissions:

chmod 600 ~/.config/rclone/rclone.conf
chmod 700 ~/.config/rclone

Quota management: The mounted drive exposes your entire Google Drive. Avoid accidentally recursive copies with cp -r or rsync, which consume quota quickly. Use rclone copy for intentional transfers:

# Safe transfer with rclone
rclone copy gdrive:path/to/folder ~/local-backup

Initial indexing: Large directories may take time to list on first access. Subsequent access is faster thanks to the directory cache and VFS cache.

Bandwidth: Repeated file access is served from the local cache, reducing API calls and bandwidth. Monitor ~/.cache/rclone size; it persists until manually deleted.

SELinux/AppArmor: If the mount fails silently, check your system’s mandatory access control logs. You may need to configure policies to allow FUSE mounts.

Symlinks: FUSE mounts handle symlinks inconsistently across tools. Test symlink operations with your workflow before relying on them.

← All posts