Modify fstab entry so all users can Read and Write to an EXT4 Volume

346,822

Solution 1

The mount option user only allows the filesystem to be mounted by any user. The rw option makes the filesystem not readonly. You will have to use permissions to make the parent directory writeable.

chmod 777 /media/foo

The chmod command you show only affects the existing files within /media/foo.

Solution 2

I think it would be simpler to change the fstab entry to:

/dev/sda8    /media/foo    ext4    rw,user,exec,umask=000 0 0

umask=000 means that anyone can read, write or execute any file or directory in foo. The usual default is 022, which means that users cannot write.

Solution 3

I had the same problem on openSUSE, but I think the solution can apply to this too. All the users I want to share the mounted filesystem belong to the same primary group: users

I have the following line in my fstab:

/dev/<partition> <mount_point>          ext4       rw,acl       0 0

and I ran the following commands:

sudo chgrp -R users <mount_point>
sudo setfacl -d -m g::rwx <mount_point>

so that newly created files or directories get those permissions. This implies that you have the acl package installed.

Solution 4

Well for one thing, you want to make sure the directory of /media/foo itself is writeable. If it isn't already, run the following command:

chmod +w /media/foo

Remember, star only applies to the visible contents of the directory, not the directory itself nor any files that are not visible.

Solution 5

A few years ago I have set the mount point's group to the plugdev group, added the user to that group. This way, by creating new groups, it is possible to give permissions on a per user basis. For home usage, it's enough to set mount point permissions to others: read/write/execute as written above.

I did it with 'sudo nautilus &' in terminal and right click -> properties -> rights, but any other file manager running as root would be fine.

Share:
346,822

Related videos on Youtube

user3441903
Author by

user3441903

Updated on September 17, 2022

Comments

  • user3441903
    user3441903 almost 2 years

    I have an Ubuntu 10.04 box with an EXT4 partition. This partition is set to automatically mount in /etc/fstab. For the purposes of this post, we'll call it: /media/foo.

    Unfortunately, only root can create/delete files/directories on the root filesystem of foo. For other users to perform file/io on this volume, root needs to create a directory and chmod the permissions to others.

    I would like to mount the volume such that anybody would be able to read/write to the volume without the need of root to chmod.

    Below is my fstab entry:

    /dev/sda8    /media/foo    ext4    rw,user,exec 0 0
    

    The entry originally had defaults instead of rw,user,exec. I added the additional entries, namely, rw so any user can read/write.

    Unfortunately, the fstab entry does not work. It mounts fine, but it still requires root to intervene.

    And, just in case anybody asks, simply running: chmod -R 777 * on /media/foo as root does not work.

  • Daniel
    Daniel almost 12 years
    umask is only an option for ntfs/vfat partitions. mount will not like umask on an ext filesystem.
  • Ivan Balashov
    Ivan Balashov almost 10 years
    What is the best place in Ubuntu to add this command at startup?
  • Dennis Williamson
    Dennis Williamson almost 10 years
    @IvanBalashov: You can use an @reboot entry in /etc/crontab among other possibilities.
  • m3nda
    m3nda about 9 years
    Wow, i must start to guess those things :D thank you a lot.
  • George Udosen
    George Udosen over 7 years
    If it is an encrypted directory say /home will this be mounted in the /etc/crypttab?
  • user1251840
    user1251840 over 7 years
    Agree with the chmod, but add a: chmod +t /media/foo to enable users to create their own subdirectory
  • Binar Web
    Binar Web over 3 years
    I think a better aproach would be rw,user,exec,mode=1777
  • nyanpasu64
    nyanpasu64 over 2 years
    On my machine (Arch Linux), ext4 recognizes neither umask=000 nor mode=1777...