Как создавать и редактировать файлы из общей папки Windows в Linux (CentOS)?

у меня есть общий диск Windows, который я смонтировал на своей машине CentOS 7 с помощью инструкции Red Hat что я сейчас хотел бы создавать и редактировать файлы на. Однако я должен быть повышен, чтобы создавать и редактировать файлы в любой папке на диске. Я пробовал использовать chmod, чтобы разрешить всем пользователям доступ, но безрезультатно, и даже попытался размонтировать / перемонтировать диск.

как я могу получить неограниченный доступ к диску?

(Я создаю эти файлы использование Matlab и Matlab не могут быть запущены через sudo, поэтому просто оставаться повышенным не вариант).

Печать Терминал

[millironx@mymachine ~]$ sudo umount /mnt
[millironx@mymachine ~]$ sudo mount -t cifs -o username=millironx,password=mypassword,domain=AD //files.example.com/shared /mnt
[millironx@mymachine ~]$ cd /mnt/matlab-program
[millironx@mymachine matlab-program]$ touch testfile
touch: cannot touch 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo chmod +rwx /mnt/matlab-program
[millironx@mymachine matlab-program]$ touch testfile
touch: cannot touch 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo touch testfile
[millironx@mymachine matlab-program]$ ls
testfile
[millironx@mymachine matlab-program]$ rm testfile
rm: remove write-protected regular empty file 'testfile`? y
rm: cannot remove 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo rm testfile
[millironx@mymachine matlab-program]$ sudo matlab
sudo: matlab: command not found
19
задан Kamil Maciorowski
22.03.2023 23:27 Количество просмотров материала 2609
Распечатать страницу

1 ответ

вам нужно uid= и возможно gid= опции монтирования. См.man 8 mount.cifs:

uid=arg

задает uid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, если сервер не предоставляет сведения о владельце. Он может быть указан как имя пользователя или числовой uid. Если значение не указано, по умолчанию используется uid 0. The mount.cifs helper должен быть версии 1.10 или выше для поддержки указания uid в нечисловом формате форма. Дополнительные сведения см. В разделе владение файлами и каталогами и разрешения ниже.

gid=arg

задает gid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, если сервер не предоставляет сведения о владельце. Он может быть задан как имя группы или числовой gid. Если значение не указано, по умолчанию используется gid 0. The mount.cifs helper должен быть версии 1.10 или выше для поддержки указания gid в нечисловой форме. Дополнительные сведения см. В разделе владение файлами и каталогами и разрешения ниже.

[...]

Владение Файлами И Каталогами И Разрешения

Основной протокол CIFS не предоставляет сведения о владении unix или режим для файлов и каталогов. Из-за этого файлы и каталоги, как правило, принадлежат любым значениям uid= или gid= параметры установлены и будут иметь разрешения по умолчанию file_mode и dir_mode для монтирования. Попытка изменить эти значения с помощью chmod/chown возвратит успех но не имеет никакое влияние. [...]

в этом разделе также упоминается сценарий, в котором "клиент и сервер согласовывают расширения unix" и сценарий, в котором "также можно эмулировать их локально на сервере" и т. д.

в вашем случае просто uid= и gid= должно хватить. Обратите внимание, что они указывают пользователя и группу Unix,uid= и username= разные и вообще может принимать разные значения.

sudo mount -t cifs -o uid=millironx,gid=users,username=millironx,password=mypassword,domain=AD //files.example.com/shared /mnt

вы можете найти этот вопрос полезное.

1
отвечен Kamil Maciorowski 2023-03-24 07:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх