Mastering App Permissions in Ubuntu: A Step-by-Step Guide to Runtime Security

By

Introduction

Ubuntu has significantly enhanced its app permission prompting system, bringing it closer to the intuitive runtime controls found on Android and iOS. Instead of granting broad, permanent permissions during installation, you can now decide access rights on the fly—when an app actually needs to use your camera, microphone, or files. This guide walks you through everything you need to know to take full advantage of this snap-based security improvement. By following these steps, you'll gain fine-grained control over which apps can access sensitive system resources, boosting both privacy and security.

Mastering App Permissions in Ubuntu: A Step-by-Step Guide to Runtime Security
Source: www.omgubuntu.co.uk

What You Need

Step-by-Step Guide

Step 1: Check Your Ubuntu Version and Snapd

First, ensure your system supports the latest permission prompts. Open a terminal (Ctrl+Alt+T) and run:

lsb_release -a

You should see Ubuntu 24.04 LTS or newer. Then verify snapd version:

snap version

If snapd is older than 2.60, update it with:

sudo snap install core

This step ensures the permission prompt service (snapd.apparmor and snapd.notify) is active.

Step 2: Install a Snap-Based App That Requests Permissions

To test the new prompts, install a snap that uses hardware or system resources. For example, install Firefox (if not already installed) or a camera app like Cheese:

sudo snap install firefox

Only snaps packaged with explicit permission requests will trigger prompts. Classic deb packages and Flatpaks don't use this system. You can browse the Snap Store for apps that declare uses of camera, microphone, home (file access), or network.

Step 3: Launch the App and Trigger a Permission Request

Open the installed app from your launcher or terminal. When the app tries to access a protected resource (for example, Firefox accessing the camera for a video call), a modal dialog will appear. This is the runtime permission prompt—it looks like a small window with the app name, the requested resource, and options to Deny or Allow. You might also see “Only while using the app” for some resources.

If no prompt appears, the app may already have implicit permissions or hasn't requested that resource yet. Try performing an action that requires that permission (e.g., start a video call).

Step 4: Grant or Deny Permissions at Runtime

When the prompt appears, decide:

After closing the app, the permission resets. The next time you launch the app and it needs that resource, you'll be prompted again. This is the key improvement: no permanent grant means you stay in control.

Step 5: Review and Manage Previously Granted Permissions

You can see which permissions have been allowed or denied for each snap. Open Software (Ubuntu's app store) or use the command line:

snap connections 

Replace <app-name> with the actual snap name (e.g., firefox). This lists all interface connections, including those granted or denied via prompts. To revoke a permission manually, use:

Mastering App Permissions in Ubuntu: A Step-by-Step Guide to Runtime Security
Source: www.omgubuntu.co.uk
snap disconnect :

For example, to disconnect camera access from Firefox: snap disconnect firefox:camera. This will force a new prompt next time the app tries to use that interface.

Step 6: Enable or Disable the Permission Prompt System

By default, prompts are enabled for all snaps that declare the permissions-control interface. If you want to disable prompting (not recommended), you can change the global setting:

sudo snap set core experimental.permissions-control=false

To re-enable, set it to true. Note that this affects all snaps. You can also configure per-snap permissions by editing /var/lib/snapd/desktop/autostart/*.desktop—but that's advanced and best left for troubleshooting.

Step 7: Troubleshoot Missing Prompts

If you expect a prompt but don't see one, check the following:

If problems persist, restart snapd: sudo systemctl restart snapd.

Tips for a Smooth Experience

By mastering these steps, you can enjoy a more secure and privacy-respecting Ubuntu experience, exactly as Canonical intended. The runtime permission model puts you in charge, one prompt at a time.

Related Articles

Recommended

Discover More

VSTest Ends Dependency on Newtonsoft.Json: What You Need to KnowMastering Data Management: Python, SQLite, and SQLAlchemy CombinedCybercriminals Exploit Amazon SES to Deliver Phishing Emails That Evade Security Filters—Urgent AlertRivian Slashes Georgia EV Factory Capacity to 300,000 After DOE Cuts Loan to $4.5 BillionAlmere Data Centre Fire Exposes Hidden Vulnerabilities in Digital Infrastructure