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

73 ビュー (過去 30 日間)
Daniel Klisiewicz
Daniel Klisiewicz 2023 年 12 月 20 日
回答済み: Daniel Klisiewicz 2023 年 12 月 22 日
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 件のコメント
Walter Roberson
Walter Roberson 2023 年 12 月 20 日
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 2023 年 12 月 21 日
編集済み: Daniel Klisiewicz 2023 年 12 月 21 日
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?

サインインしてコメントする。

採用された回答

Daniel Klisiewicz
Daniel Klisiewicz 2023 年 12 月 22 日
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.

その他の回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 12 月 20 日
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 件のコメント
Daniel Klisiewicz
Daniel Klisiewicz 2023 年 12 月 22 日
The output of fileattrib is that I should have write permissions.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by