Bu nedenle, yalnızca birçok kullanıcı için okunan bir klasörü paylaşan bir mac'um (Yosemite) var ve konuk hesabı bu klasöre bağlanabiliyor / erişebiliyor, böylece kullanıcılar neyi indirebilirler. Paylaşıma müdür olarak başka bir mac (Sierra) ile bağlanıyorum. Komut satırından misafir kullanıcı olarak çalıştırdığımda çalışıyor:
mount_smbfs //guest@macbook-pro.local/Files /tmp/files
ls /tmp/files
fileA fileB
veya bulucudan misafir olarak bağlanırsam
click MacBook-Pro -> Connect As -> Guest -> Connect
double click Files
ls /Volumes/Files
fileA fileB
Şimdi mac'ta bir yönetici kullanıcı hesabı var (Yosemite). Okuma yazma ayrıcalıklarına sahip olan bu klasöre bağlanmak / erişmek istiyorum, ancak komut satırından kullanıcı adı isteniyorsa, klasörü giriş bilgisiyle bağlamaya çalışıyorum.
mount_smbfs //admin@macbook-pro.local/Files /tmp/files
Password for MacBook-pro.local:
mount_smbfs: server rejected the connection: Authentication error
Ancak Finder ile bağlanırsam:
click MacBook-Pro -> Connect As -> Registered User
Username: admin
Password: password
-> Connect
double click Files
ls /Volumes/Files
fileA fileB
Başarılı bağlantıların her birinde, Sistem Özellikleri'nin sunucu paylaşımı bölümünde Dosya Paylaşımı: On - & gt; Seçenekler ... ortaya çıkarır
Share files and folders using SMB
Number of users connected: 1
Kimlik doğrulaması gerektiren hesabı kullanarak komut satırına smb ile bağlanmaya çalışırken bağlantının neden reddedildiğini tahmin edebiliyor musunuz?
Düzenle
Evet, AFP connect, şifre dahil her durumda şifre gerektiren bir hesapla çalışır. Örneğin:
mount_afp -i afp://admin@macbook-pro.local/Files /tmp/files
Password:
ls /tmp/files
fileA fileB
Testler uğruna, sadece mümkünse smb kimlik doğrulama kurallarını düşürmeye çalıştım, ancak düz metin üzerinde şifre göndermenin bile bir etkisi olmadı. Haddi zatında:
sudo nano /etc/nsmb.conf
[default]
minauth=none
^c+X
mount_smbfs smb://admin:password@macbook-pro.local/Files /tmp/files
mount_smbfs: server rejected the connection: Authentication error
EDIT2
İşte herhangi birisinin bu sorunla ilgili herhangi bir bilgi alması durumunda bazı günlük dosyaları. (Günlükleri siteden gönderdiğim için üzgünüm, ancak başarılı günlüklerde çok fazla metin vardı.)
Öncelikle, MacBook-Pro.local’a SMB üzerinden Finder yoluyla aşağıdaki gibi bir akış kullanarak bağlanan Müşteri günlüğü:
Click MacBook-Pro
Connect As: Registered User
Name: admin
Password: password
Connect
Konsolda böyle log çıktısı üretir:
http://paste.ubuntu.com/23308183/
Şimdi tüm paylaşım klasörlerinin listesi elbette yöneticinin kullanımına açık. Böylece, Dosyalar klasörüne tıklamak, bunun gibi daha fazla bir günlük çıktısı üretir:
http://paste.ubuntu.com/23308186/
Dosyalar klasörü bağlanır ve yönetici kullanıcı tarafından okunabilir / yazılabilir
Karşılaştırma için, saf komut satırı aracı mount_smbfs kullanarak kaynağa bağlanmaya çalışırken Konsol'dan gelen bir günlük:
default 09:43:21.257429 -0400 gamed GKClientProxy: clientForBundleID:
default 09:43:21.257543 -0400 gamed GKClientProxy: updateIfRecentlyInstalled
default 09:43:21.258623 -0400 gamed GKClientProxy: clientForBundleID:
default 09:43:21.258751 -0400 gamed GKClientProxy: updateIfRecentlyInstalled
default 09:43:21.277114 -0400 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:21.277194 -0400 opendirectoryd <private> completed, delivered 1 result
default 09:43:22.025420 -0400 mount_smbfs subsystem: com.apple.SystemConfiguration, category: SCPreferences, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
default 09:43:22.030767 -0400 mount_smbfs subsystem: com.apple.network, category: , enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
default 09:43:22.069146 -0400 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:22.069231 -0400 opendirectoryd <private> completed, delivered 1 result
default 09:43:22.069385 -0400 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:22.069479 -0400 opendirectoryd <private> completed, delivered 1 result
default 09:43:22.072139 -0400 opendirectoryd Client: <private>, UID: 502, EUID: 502, GID: 20, EGID: 20
default 09:43:22.072212 -0400 opendirectoryd <private> completed, delivered 1 result
error 09:43:22.146661 -0400 kernel loginwindow is not entitled
error 09:43:22.146708 -0400 kernel loginwindow is not entitled
error 09:43:22.146799 -0400 kernel UserEventAgent is not entitled
error 09:43:22.146882 -0400 kernel UserEventAgent is not entitled
default 09:43:22.886004 -0400 AppleIDAuthAgent SERVER Doing account check for "a...n@???????.???". (scheduledAccountCheckDispatcher()/AppleIDAuthd.cpp #545) accountCheckDispatch
default 09:43:22.886074 -0400 AppleIDAuthAgent Checking account <private>
default 09:43:22.887673 -0400 AppleIDAuthAgent _AppleIDAuthAccountForAppleID falling back to account aliases
error 09:43:22.891028 -0400 AppleIDAuthAgent ### Request GS token for '<private>' start failed: -101
default 09:43:22.891078 -0400 AppleIDAuthAgent ### Authenticate '<private>' failed: <private>
default 09:43:22.891158 -0400 AppleIDAuthAgent SERVER Didn't succeed with .authenticate, and error is ERROR:"CSIdentityErrorDomain" #-101 kCSIdentityAppleIDInvalidAccountOrPasswordErr { } so releasing session. (___Z31__AppleIDSessionDoCreateSessionPK10__CFStringS1_PK14__CFDictionaryPS1_PS4_PP9__CFError_block_invoke()/AppleIDXMLServerCommunications.cpp #902) queue.session.
default 09:43:22.891399 -0400 AppleIDAuthAgent Next time for '<private>': 2016-10-11 13:43:22 +0000 (497886202.891342 + 0.000000), 0.000000 seconds
default 09:43:22.891514 -0400 AppleIDAuthAgent Next time for '<private>': 2016-10-11 13:43:22 +0000 (497886202.891467 + 0.000000), 0.000000 seconds
default 09:43:22.891560 -0400 AppleIDAuthAgent Next action time for <private>: <private> (because the account does not have a certificate nor an uploaded csr)
default 09:43:25.393805 -0400 CommCenter #watchdog #I Callback Watchdog: checkin 119
default 09:43:25.394014 -0400 CommCenter #watchdog #I Server Watchdog: checkin 119
default 09:43:28.212369 -0400 opendirectoryd Client: <private>, UID: 502, EUID: 502, GID: 20, EGID: 20
default 09:43:28.212476 -0400 opendirectoryd <private> failed with error '<private>' (2)
default 09:43:29.061659 -0400 kernel SmartBattery: finished polling type 4
default 09:43:29.847392 -0400 gamed GKClientProxy: clientForBundleID:
default 09:43:29.847446 -0400 gamed GKClientProxy: updateIfRecentlyInstalled
default 09:43:29.847970 -0400 gamed GKClientProxy: clientForBundleID:
default 09:43:29.847992 -0400 gamed GKClientProxy: updateIfRecentlyInstalled
default 09:43:29.879093 -0400 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:29.879183 -0400 opendirectoryd <private> completed, delivered 1 result
Pratik Çözüm
Bu AppleScript kod parçasının komut satırından çalıştığını buldum.
osascript -e 'tell application "Finder" to mount volume "smb://admin:password@macbook-pro.local/Files"'
Şifre alanı doldurulmuş olarak bir onay penceresi açılacaktır. Ancak, şifreyi açık metin olarak girmeniz gerekir. Açıkçası, aynı zamanda şifre olmadan da yapılabilir ve her seferinde yazabilirsiniz.
osascript -e 'tell application "Finder" to mount volume "smb://admin@macbook-pro.local/Files"'
Bu yüzden şifreyi kaydetmeyi denedim. Giriş kısmını anahtarlığa kaydetmek için kutuyu işaretledikten sonra aynı komut, açık metinde parola olmadan başarılı olur, ancak yine de onay kutusunu Parola kutusu dolu ve "Parolayı hatırla" kutusu da işaretlenmiş olarak sunar.
Şifrenin kaydedilmesi hala mount_smbfs bağlantısı için geçerli değildi. Takma denemesi başarısız oldu.
Belki de bu osascript fikri geçici bir çözümdür, ancak samba'nın neden bulucu ile bağlandığı sorusunu yanıtlamaz, ancak cli kullanırken değil.