Mam dostęp do dysku sieciowego cifs. Po zamontowaniu pod moim komputerem OSX mogę czytać i zapisywać zi do niego.
Kiedy montuję dysk w Ubuntu, używając:
sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu
Nie mogę pisać na dysk sieciowy, ale mogę z niego czytać. Sprawdziłem uprawnienia i właściciela folderu montowania, wyglądają one tak:
4.0K drwxr-xr-x 4 root root 0 Nov 12 2010 Mounted_folder
Nie mogę zmienić właściciela, ponieważ pojawia się błąd:
chown: changing ownership of `/Volumes/Mounted_folder': Not a directory
Kiedy schodzę głębiej na dysk sieciowy i zmieniam tam własność, pojawia się błąd, że nie mam uprawnień do zmiany właściciela folderu.
Co powinienem zrobić, aby aktywować moje uprawnienia do zapisu?
noperm
opcji montowania, podobnie jak podano w mojej odpowiedzi na to pytanie: unix.stackexchange.com/a/375523/16287 . Zapewni to wszystkim użytkownikom dostęp do odczytu i zapisu do montażu CIFS.Odpowiedzi:
Montujesz udział CIFS jako root (ponieważ używałeś
sudo
), więc nie możesz pisać jak zwykły użytkownik. Jeśli dystrybucja Linuksa i jego jądro są na tyle aktualne, że możesz zamontować udział sieciowy jako zwykły użytkownik (ale w folderze, który użytkownik posiada), będziesz mieć odpowiednie poświadczenia, aby zapisać plik (np. Zamontować folder współdzielony gdzieś pod twoim katalog domowy, na przykład$HOME/netshare/
. Oczywiście, musisz go utworzyć przed zamontowaniem).Alternatywą jest określenie identyfikatora użytkownika i grupy, którego powinien używać zamontowany udział sieciowy, umożliwiłoby to określonemu użytkownikowi i potencjalnie grupie pisanie do tego udziału. Dodaj następujące opcje do swojego mounta :
uid=<user>,gid=<group>
i zamień<user>
i<group>
odpowiednio przez własnego użytkownika i grupę domyślną, które możesz znaleźć automatycznie za pomocąid
polecenia.Jeśli serwer wysyła informacje o własności, konieczne może być dodanie opcji
forceuid
iforcegid
.źródło
domain
. Coś takiego:sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu
W rzeczywistości domena może przejść w opcji „nazwa użytkownika”, ale pamiętaj, że musisz użyć/
zamiast`, like
nazwy użytkownika = DOMENA / nazwa.użytkownika`.//192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
username
to zdalne logowanie do uwierzytelniania. Jestuid
to lokalny identyfikator użytkownika, który chcesz usunąć wszystkie pliki / foldery. Więc nazwa użytkownika jest oddzielona od identyfikatora użytkownika, nazwa użytkownika jest zdalnym loginem użytkownika, podczas gdy identyfikator użytkownika jest lokalnym identyfikatorem użytkownika. Pamiętaj, że może być tak samo, jeśli twoim serwerem jest Samba i korzystasz z LDAP lub innego scentralizowanego konta na kliencie i serwerze :-).Testowałem następujące polecenie:
źródło
man mount.cifs