Cif Dağı ağ sürücüsü: yazma izinleri ve chown


99

Bir cif ağ sürücüsüne erişimim var. OSX makinemin altına monte ettiğimde, kendisinden ve üzerine okuyabilir ve yazabilirim.

Sürücüyü ubuntu'da monte ederken, şunları kullanarak:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

Ağ sürücüsüne yazamıyorum, ancak ondan okuyabilirim. Mount klasörünün izinlerini ve sahibini kontrol ettim, şöyle görünüyorlar:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

Sahibini değiştiremiyorum, çünkü hatayı alıyorum:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

Ağ sürücüsüne daha derine indiğimde ve oradaki mülkiyeti değiştirdiğimde, klasörün sahibini değiştirme iznim olmadığı için hata alıyorum.

Yazma iznimi etkinleştirmek için ne yapmalıyım?


Dosya sistemi / etc / fstab dosyasında mı? Öyleyse, girişin hangi seçenekleri vardır?
Jenny D

3
nopermBu soruya cevabımda da benzer şekilde belirtilen mount seçeneğini kullanabilirsiniz : unix.stackexchange.com/a/375523/16287 . Bu, tüm kullanıcılara CIFS montajına okuma ve yazma erişimi sağlar.
Daniel

Yanıtlar:


137

CIFS paylaşımını root olarak yüklüyorsunuz (kullandığınız için sudo), böylece normal kullanıcı olarak yazamazsınız. Eğer Linux Dağıtımınız ve çekirdeğiniz ağ paylaşımını normal bir kullanıcı olarak bağlayabilecek kadar yakınsa (ancak kullanıcının sahip olduğu bir klasörün altında), dosya yazmak için uygun referanslara sahip olacaksınız (örn. Örneğin, home dizini gibi $HOME/netshare/, tabii ki, onu eklemeden önce klasörü oluşturmanız gerekir).

Bir alternatif, takılı ağ paylaşımının kullanması gereken kullanıcı ve grup kimliğini belirlemektir; bu, söz konusu kullanıcının ve potansiyel olarak grubun paylaşıma yazmasına izin verir. Bağlantınıza aşağıdaki seçenekleri ekleyin : uid=<user>,gid=<group>ve yerine <user>ve <group>sırasıyla idkomutunu kullanarak otomatik olarak bulabileceğiniz kendi kullanıcınız ve varsayılan grubunuz .

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

Sunucu sahiplik bilgisi gönderiyorsa, forceuidve forcegidseçeneklerini eklemeniz gerekebilir .

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu

benim için çalıştı! Ancak, paylaşılan klasör oturum açma alanı olan bir PC ise seçeneği eklemelisiniz domain. Bunun gibi bir şey: sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntuAslında, etki alanı "username" seçeneğine girebilir, ancak username = DOMAIN / user.name ` /yerine kullanmak zorunda olduğunuzu unutmayın `, like .
João Portela

Evet doğru. :-) Bir etki alanı veya çalışma grubu (eski Windows sürümü için) "domain =" seçeneği veya kullanıcı adı ile belirtmeniz gerekebilir, bu iyi bir nokta. Ve bazen şifreleme şemasını ya da kullanılacak CIFS versiyonunu belirtmek bile gereklidir. Fakat bütün bunlar bu sorunun bir parçası değildi, bu yüzden bir kenara bıraktım. :-)
Huygens

2
Bu tam ihtiyacım olan şeydi. Ağ sürücüsünü başlangıçta otomatik olarak monte etmek için / etc / fstab dosyasında bir girdi vardı. Mount'a yazamadım bu yüzden şöyle bir satır için uid = <myUserID> ekledim://192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
James

5
@ 71GA username, kimlik doğrulama için kullanılacak uzaktan oturum açmadır . uidEğer tüm dosya / klasör şekerleme istediğiniz yerel kullanıcı kimliğidir. Böylece kullanıcı adı kullanıcı adından ayrıştırılır, kullanıcı adı yerel kullanıcı adınız iken kullanıcı adı uzak kullanıcı girişidir. Sunucunuz Samba ise ve hem istemci hem de sunucuda bir LDAP veya başka bir merkezi hesap kullanıyorsanız, bunun aynı olabileceğini unutmayın.
Huygens

1
@Tak İyi soru. Düzenlenmiş cevaba bakınız.
Gilles,

20

Aşağıdaki komutu başarıyla test ettim:

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win

19
Uid almak ve sırasıyla gid için "id -u <kullanıcı>" ve "id -g <kullanıcı> kullanın.
NVD

3
Kullanıcı adını doğrudan belgede belirtildiği gibi kullanabileceğinizi unutmayınman mount.cifs
jstricker

2
Şifreyi komutun yanında yazmaktan kaçınmak için arama sırasında sadece şifre seçeneğini atlayın - bir komut istemi görünmez şekilde yazılabilmesi için isteyecektir.
conceptdeluxe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.