I can't seem to add permissions to my secondary hard drive

(NEW TO LINUX)
So I’m trying to add my second hard drive that i formatted to btrfs (same as my main drive) but i can’t create files as the hard drive is read only. how do I add permissions to the hard drive to where i can use it with steam?

Is the subvolume mounted as read-only?

Does the directory (of the volume in this drive) have write permissions only for the root user?

I’m not following. i just used the default kde partition manager and mounted the only volume that is there.

Can you include the output from:

mount

As well as,

ls -la /path/to/mountpoint

An example of such a mountpoint might look like,

/run/media/username/XXXXXXXX/

my mount output is:

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=16394556k,nr_inodes=4098639,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sdb2 on / type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache,autodefrag,commit=120,subvolid=256,subvol=/@)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=25620)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=16402880k,nr_inodes=409600,inode64)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
/dev/sdb2 on /var/cache type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache,autodefrag,commit=120,subvolid=258,subvol=/@cache)
/dev/sdb2 on /var/log type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache,autodefrag,commit=120,subvolid=259,subvol=/@log)
/dev/sdb2 on /home type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache,autodefrag,commit=120,subvolid=257,subvol=/@home)
/dev/sdb1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/var/lib/snapd/snaps/core20_1169.snap on /var/lib/snapd/snap/core20/1169 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/bare_5.snap on /var/lib/snapd/snap/bare/5 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/gtk2-common-themes_13.snap on /var/lib/snapd/snap/gtk2-common-themes/13 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/snapd_13270.snap on /var/lib/snapd/snap/snapd/13270 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/gtk-common-themes_1519.snap on /var/lib/snapd/snap/gtk-common-themes/1519 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/gnome-3-28-1804_161.snap on /var/lib/snapd/snap/gnome-3-28-1804/161 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/audacity_922.snap on /var/lib/snapd/snap/audacity/922 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core18_2128.snap on /var/lib/snapd/snap/core18/2128 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_11798.snap on /var/lib/snapd/snap/core/11798 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/spotify_53.snap on /var/lib/snapd/snap/spotify/53 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/anbox_186.snap on /var/lib/snapd/snap/anbox/186 type squashfs (ro,nodev,relatime,x-gdu.hide)
run on /run/snapd/ns type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
nsfs on /run/snapd/ns/anbox.mnt type nsfs (rw)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=3280572k,nr_inodes=820143,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sda1 on /mnt/LocalDisk type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)

my ls output is:

total 16
drwxrwxrwx 1 root root   0 Oct 19 15:54 .
drwxrwxrwx 1 root root 132 Oct 19 16:18 ..

That’s from,

ls -la /mnt/LocalDisk

:question:


Is this an external USB drive? Are you using the fstab to mount it?

What if you change the subvol to /@ instead of /

Like this:

rw,relatime,space_cache,subvolid=5,subvol=/@

i used gnome disks program wich i believe just edits fstab and no this is a HDD also it says no such file or directory.

What are the contents of your fstab?

cat /etc/fstab

You might have to manually change it to subvol=/@ in the mount options.

Somewhat unrelated: You profile reads “KDE” so that threw me off.

i have kde but a video i watched told me to use this tool and it does what i want it to do (automount on boot) but idk.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=CC64-4B83                              /boot/efi               vfat    umask=0077                                                                                 0 2 
UUID=7fc722c1-9bcf-4134-9202-3519daac5556   /                       btrfs   subvol=/@,noatime,space_cache,autodefrag,compress=zstd,discard=async,ssd,commit=120        0 0 
UUID=7fc722c1-9bcf-4134-9202-3519daac5556   /home                   btrfs   subvol=/@home,noatime,space_cache,autodefrag,compress=zstd,discard=async,ssd,commit=120    0 0 
UUID=7fc722c1-9bcf-4134-9202-3519daac5556   /var/cache              btrfs   subvol=/@cache,noatime,space_cache,autodefrag,compress=zstd,discard=async,ssd,commit=120   0 0 
UUID=7fc722c1-9bcf-4134-9202-3519daac5556   /var/log                btrfs   subvol=/@log,noatime,space_cache,autodefrag,compress=zstd,discard=async,ssd,commit=120     0 0 

/dev/disk/by-uuid/13128CA322F5007E          /mnt/13128CA322F5007E   auto    nosuid,nodev,nofail,x-gvfs-show                                                            0 0 
LABEL=root2                                 /mnt/root2              auto    nosuid,nodev,nofail,x-gvfs-show                                                            0 0 
LABEL=LocalDisk                             /mnt/LocalDisk          btrfs   defaults                                                                                   0 0 

the disk is currently named LocalDIsk

Add to the mount options,

subvol=/@

I wouldn’t advise that going forwards. Anything in the fstab (that doesn’t have “noauto”) as an option till be automatically mounted at boot.


For future reference, it’s better to use the UUID, rather than LABEL, to identify the device to be mounted.


You still might need to override the ownership/permissions after it mounts properly.

okay so wait. from scratch, what do i need to do. where does that mount option go?

You need to edit the file /etc/fstab with a text editor, such as nano, using “sudo” privileges.

The line that reads,

LABEL=LocalDisk /mnt/LocalDisk btrfs defaults 0 0

Needs an option following defaults to specify which Btrfs subvolume to mount; assuming no others exist: subvol=/@

So that it would look like,

LABEL=LocalDisk /mnt/LocalDisk btrfs defaults,subvol=/@ 0 0

so now should it be mounted with user permissions? like can i write files to the drive now?

Did you umount, apply the changes, and re-mount it again?

ayyyyy it worked thanks a bunch guys.

No problem!

Definitely read up on Linux and mounts. It’s an entire paradigm shift from the Windows world. It’s best to arm yourself with knowledge, so that you’ll understand what you’re doing and how to modify it to your needs or even troubleshoot it using what you’ve learned.

:open_book:

well hopefully this should be the last time i mess with mounts. in the fstab can i get rid of the root2 that i made a while ago?

I’m not sure what root2 is, but if it’s unused, you can remove the line or comment it out by inserting a # symbol at the start of the line.