Can't save new file even though I definitely have write permissions

112 vues (au cours des 30 derniers jours)
I'm trying to save a .mat file in the following manner:
save('/path/to/file/file.mat','var1','var2');
I'm getting the "Cannot save /path/to/file/file.mat: Permission denied" that you typically get when the user running Matlab does not have permissions to write to the directory specified.
The problem is I ABSOLUTELY have write permissions to /path/to/file.
The output to
ls -l '/path/to/'
shows the 'file' directory as drwxrwxr-x, and belongs to group "Developers", which I am a part of.
Further proof that I have write permissions: If I cd /path/to/file/ and then create a file named 'file.mat' using vim, and THEN invoke Matlab's save as described above, it WORKS!. If I then remove that file using a terminal and try to save from Matlab again, it FAILS!
Why might I not be able to create a new file from Matlab?
The only nuance I can think of is /path/to/file is an NFS mount on RHEL7
  2 commentaires
Walter Roberson
Walter Roberson le 20 Déc 2023
I no longer recall... if /path/to/file is an NFS mount point, then does ls -l reflect the permissions of the underlying mount point, or does it reflect the permissions of the mounted filesystem ?
Daniel Klisiewicz
Daniel Klisiewicz le 21 Déc 2023
Modifié(e) : Daniel Klisiewicz le 21 Déc 2023
given that I can can change the permissions of /path/to/file on the mounted location and have it reflect in the ls -l output, I'm led to believe that it reflects the underlying mount point and not the filesystem itself.
This is a good point to consider, although I'm not sure if it explains why I can create a file from a terminal at the mount point but not from an instance of matlab at the same location?

Connectez-vous pour commenter.

Réponse acceptée

Daniel Klisiewicz
Daniel Klisiewicz le 22 Déc 2023
It turns out that the Matlab session was launched prior to myself being added to the 'Developer' group. A log out, log in, and relaunch of Matlab fixed the issue.

Plus de réponses (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 20 Déc 2023
Check the permission:
% Specify the path you want to check
folderPath = '/path/to/file/file.mat';
% Get file attributes
attributes = fileattrib(folderPath);
% Check if you have the write permission in the folder
if attributes==1
disp('Write permission is available for you! :)');
else
disp('Write permission is NOT available for you! :(');
end
  1 commentaire
Daniel Klisiewicz
Daniel Klisiewicz le 22 Déc 2023
The output of fileattrib is that I should have write permissions.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by