so I'm completely new to Ubuntu. I've set up a shared folder with a few c programs and when I go to compile in Ubuntu, such as:
gcc file.c -o fileTestI get the following error:
/usr/bin/ld: cannot open output file fileTest: Permission denied
collect2: error: ld returned 1 exit statusI'm sure that my permissions for the C files are correct, all files have 'rwx' permissions.
Do I have to change the permission of the directory as well?
I'm a complete newb, so apologies.
1 Answer
Yes, you have to change the permissions of the directory as well.
This is because if you only have write permissions to the files inside the directory, you can't just create a new file because you don't have write permissions for that file (it doesn't exist, so no permissions to create it).
If you have write permissions for the directory you can create a file inside it because you have write permissions for the directory itself.
To make yourself the owner (terminal way):
Check your user name:
whoamiMake yourself the owner of the directory and its contents:
sudo chown -R "$USER:" /path/to/the/directoryThe
-Rflag stands for recursive, so that directory and all its subfiles and subdirectories will change owner. Remove the-Rflag to just change the permissions of the directory itself.
Now you should be able to create files or directories because you're now the owner of the directory and all its content. If you still can't, give the owner write permissions to the directory and its content using the following command:
chmod -R 700 /path/to/the/directory 0