為什麼 PC 透過網路刪除另一部 Mac 上共享出來的檔案,為啥刪掉的檔案不會被丟到【垃圾桶】?而是永遠消失?
請問是因為 MacOS X 沒有【網路垃圾桶】嗎?
版主: ross_tt、bryanchang、digdog、chester
淚~~~來發問.... 結果被大老考試反問~~~ulysses 寫:還記得我跟說過的 SMB 使用者權限與本機使用者權限的問題嗎?
PC 的使用者連到你的 Mac 上時用的帳號,與你 Mac 上的帳號其實是完全無關的,OS X 內建的 Windows File Sharing 會用相同的帳號密碼純粹是為了方便考量。以實際的 Samba 運作來說,你也有可能多個不同的 Windows Share 帳號對應到一個本機端的特定權限,甚至是『禁止登入』型的特殊帳號。
現在問題來了:當 PC 上的使用者要刪除遠端連線機器的檔案時,要把檔案丟到誰的垃圾桶?檔案原持有人?連線對照權限的帳號?還是 PC 上?別忘了前兩個都有可能是一個禁止登入的帳號。
您的問題好像不關 MAC 的問題吧進藤光 寫:這是我 N 年前就想問的問題..... 其實也只有 4 年啦..... 從 MacOS X 10.0 開始....
為什麼 PC 透過網路刪除另一部 Mac 上共享出來的檔案,為啥刪掉的檔案不會被丟到【垃圾桶】?而是永遠消失?![]()
請問是因為 MacOS X 沒有【網路垃圾桶】嗎?
你也是來反問我已經說過的回答嗎??stoby 寫:您的問題好像不關 MAC 的問題吧進藤光 寫:這是我 N 年前就想問的問題..... 其實也只有 4 年啦..... 從 MacOS X 10.0 開始....
為什麼 PC 透過網路刪除另一部 Mac 上共享出來的檔案,為啥刪掉的檔案不會被丟到【垃圾桶】?而是永遠消失?![]()
請問是因為 MacOS X 沒有【網路垃圾桶】嗎?
相同的問題 ....
若是 MAC 透過網路刪除另一部 PC 上共享出來的檔案,為啥刪掉的檔案不會被丟到【垃圾桶】?而是永遠消失?![]()
請問是因為 PC 沒有【網路垃圾桶】嗎?
............
不用抱歉,我沒生氣.....stoby 寫:我是不知道 到底是怎麼回事 因為我只是電腦的使用者 軟體怎麼設計的 我也不懂
我猜你是知道答案 只是想探討問題的任何可能性 反問你是有點不智之舉 說聲抱歉
就我的邏輯這個問題的答案因該就是如此
MAC對MAC也是直接殺掉了 因為把對方的檔案丟進垃圾桶這個動作 是丟進你的垃圾桶 而不是他的垃圾桶 而您所說得網路垃圾桶 的觀念 應該還沒有定義
小弟不才.......
你忘了一件事:垃圾桶不是共用的,每個帳號都有自己的垃圾桶。進藤光 寫:檔案原持有人?答:也可以吧??我的檔案被別人不慎 Delete 了,可以從我自己的垃圾桶找回來啊.... 不幸的是..... 也沒這功能!
連線對照權限的帳號?答:這句話就有點不懂了.... 你是指我的電腦用 Mary 登入,然後用 John 登入到 Mac Server 嗎??如果是.... 刪掉 John 的檔案,還是要丟到 Mac 自己的【垃圾桶】啊.... 不幸的是..... 也沒這功能!
還是 PC 上?答:這就很離譜了!檔案既然是在遠端的【檔案伺服器】上,就不應該在 Delete 時 Copy 回到 PC,然後叫 Windows 丟到資源回收筒!否則大家都先把網路上的檔案 copy 回來,無論如何都會丟到自己的資源回收筒!
如果遠端的【檔案伺服器】是 Windows Server,再怎樣也應該是 Delete 的檔案會丟到 Windows Server 自己的資源回收筒!不幸的是..... Windows XP/Server 通通沒這功能!
這就是垃圾桶的安全盲點。垃圾桶雖然是個很直覺的操作界面,對非程式設計師來說他的運作原理也很簡單:『不就是把檔案搬到一個特定位置嗎』,殊不知,為了達到這個目的,有多少例外狀況在那邊等著;權限問題,持有者混雜問題,還有檔名衝突問題,一不小心就會產生大紕漏。進藤光 寫:Ans : 我沒忘!連 Windows XP / Server 也是如此,不然.... 會變成你丟我撿!我的資源回收筒會出現別人丟的檔案,那.... 安全性不就沒用了?
這樣說好了,你的機器上有很多帳號,在你看得到的帳號之外,還有很多『幕後工作者』在台面下維持系統的正常運作。UNIX 系統習慣用特殊帳號來作為特定服務的權限....
Ans : 這點我只有聽說,完全搞不清楚...
不是,你完全搞混了。在下一直強調的,Samba 的登入帳號密碼,和你本機上的帳號密碼『無關』.....
Ans : 當然囉!其實我說的【你是指我的電腦用 Mary 登入,然後用 John 登入到 Mac Server 嗎?】跟你說的是同一件事!在 WinXP 用 Mary 登入到自己電腦,也可以用同樣名稱密碼登入到 Server,但前提是【Server 上有事先建好同樣的帳號、密碼】,不過這個帳號、密碼跟 WinXP 上的 SID 不同,這只是 Server 上的帳號、密碼!
關鍵就在於:作業系統用來存放垃圾的目錄,Samba 沒有存取的權限。以 Samba 的角度來說,要做到類似『垃圾桶』的功能,嚴格來說是可行的,不過垃圾桶是以『分享 Domain』為單位,而不是以使用者為單位;而這種替代方案的垃圾桶也難以和系統層級的垃圾桶相結合。
Ans : 請問你指的是 Server 上 User 的 Trash,不能跟 Administrator 的 Trash 結合嗎?如果是.... 我覺得也沒什麼不對啊..... Administrator 雖然有最高管理權限,可是同屬於 Administrators 的帳號,也不能因為大家都是 Administrators,Windows Server 就把各位 Administrator 幹掉的檔案通通都丟到同一個 Trash 啊....
是的,我完全了解!所以 Trash 會記住檔案的絕對路徑,以便還原。User 前後扔進相同的檔名,Trash 就得自己區分檔名了....這就是垃圾桶的安全盲點。垃圾桶雖然是個很直覺的操作界面,對非程式設計師來說他的運作原理也很簡單:『不就是把檔案搬到一個特定位置嗎』,殊不知,為了達到這個目的,有多少例外狀況在那邊等著;權限問題,持有者混雜問題,還有檔名衝突問題,一不小心就會產生大紕漏。
你指的是常駐在背景的程式嗎?如果是指【帳號】,是指常駐程式用這些帳號來登入系統,然後執行嗎??這樣說好了,你的機器上有很多帳號,在你看得到的帳號之外,還有很多『幕後工作者』在台面下維持系統的正常運作。
這我懂,只是我玩的是 MS SQL Server 2000,登入到 SQL Server 的帳號有兩種,一種是 SQL 長出來的,管理者在 SQL 上建立登入到 SQL Server 的帳號,另一種是直接使用 Windows Server 的系統帳號,當然 Client 帳號也可等同於 Server 帳號,這樣一來,他只要登入自己的 WinXP,就能一路自動登入到 Server 跟 SQL.....舉個例子,MySQL 資料庫,這個程式必須保持持續運作狀態,在任何人 Login 這台電腦前就要開始運作,在所有使用者都 Logout 之後也要保持運作。
MySQL 資料庫是用一個常駐型的程式,mysqld,來提供這個服務。這個程式需要能夠提供連線存取資料的服務,還需要把記錄的所有資料都存放在某一個檔案裡。為了做到這兩件事,mysqld 需要一個身分識別證,才能取用系統的資源。顯然的,MySQL 不屬於任何一個使用者私有的程式,那要給他什麼身分呢?最簡單的解決法,就是給他一個特殊的帳號,這個帳號就叫做『mysql』。
早說嘛....... 搞半天!原來 Samba 只是 MacOS X 的【外掛程式】啊..... 難怪連上 Samba 的網站都不是 Apple,而是 samba.org ......如果你能夠接受『冰果室交流區的帳號密碼』和『安裝這套論壇的主機的帳號密碼』是不相干兩回事這樣的概念,就可以等同類推到 Samba。
Samba,從某些角度來說,就等同於一個 UBB 系統。Samba 本身不屬於作業系統的一部份,它只是一個架在作業系統之上的應用程式,你從遠端與 Samba 連上線,輸入一個帳號密碼通過 Samba 的認證,就可以遠端遙控它來作一些事。在這個過程中,你從遠端登入這台電腦用的帳號密碼,都只是『Samba 的帳號』,不是『作業系統帳號』。
有玩 SharePoint,但是對這個工具提供的功能實在很不滿意,這簡直是相對於 Windows XP Home Edition 的安全性,要嘛不 Share,要 Share 就是幾乎等於 Everyone,誰都可以用,沒辦法再細部區分層級或對象......如果你玩過 Share Point 你就了解,Samba 的分享是以『目錄』為單位。例如你在辦公室裡可能希望把『/Volume/myhd/MyProject』這個目錄分享出來,讓同事能夠存取。對方在 PC 上看到的,就是一個『\\MyMac\MyProject』這樣的路徑,裡所當然的,他看不到,也沒有權限存取你的『/Volume/myhd/.Trash/』。
我沒忘,我是壓跟不知道!:badgrin: Apple 又沒說,Samba 只是個外掛程式,不是系統核心.... 上次你給的 Samba 香港,就是在幹【做一個『擬似』垃圾桶】的功能?原來啊.....別忘了 Samba 只是個『網路通訊軟體』,它只是實現 Windows SMB 通訊協定。從 Protocol 與系統存取權限的角度來看,Samba 唯一能做的『擬似』垃圾桶的功能,就是在『/Volume/myhd/MyProject』下建立一個『recycle』目錄,然後把移除的檔案丟到這裡面去。
知道了,既然 Samba 是 Plug-in,當然有他的能力極限!不支援中文的【亂碼】就是其中之一!這點從 SharePoint 共享的【中文檔案夾】到了 Terminal 看得最清楚,Windows 根本不知道你 Mac 的 Samba 是 Share 啥資料夾....現在你知道了,Finder 下的垃圾桶要維護的是 『/Volume/myhd/.Trash/』和『~/.Trash/』這兩個目錄,而 Samba 只能管理到『/Volume/myhd/MyProject/recycle』。所以在下說 Samba 的『擬似』垃圾桶,只能做到『垃圾集中』,但無法做到『移入系統垃圾桶』這個功能。
如果真的想實現這個功能,Apple 就需要把 Samba 整個改寫,讓 Samba 具備 Finder 的部份功能。這個工程不是普通的 Shareware 能辦得到的。
不能這麼說....jamesjan 寫:Windows也是如此,你直接使用所謂的"命令提示字元"去刪除一個檔案
這也不會被移到資源回收統
差不多,不過不是常駐程式用這些帳號『登入』系統後執行,而是系統在開機過程中就把這些常駐程式啟動,然後賦予他們一個『root』帳號以外的身分。這種類型的常駐程式叫做『daemon』。常見的 daemon 程式包括 CROND、SYSLOGD、DHCPD、NAMED(DNS)、MYSQLD、SENDMAIL(電子郵件)、HTTPD(Apache)、SSHD/TELNETD/FTPD 等等。你打開 Terminal,輸入 ps -aux 就可以看見他們了。進藤光 寫:你指的是常駐在背景的程式嗎?如果是指【帳號】,是指常駐程式用這些帳號來登入系統,然後執行嗎??這樣說好了,你的機器上有很多帳號,在你看得到的帳號之外,還有很多『幕後工作者』在台面下維持系統的正常運作。
所以說,開放網路分享權限是一件需要慎重的事。分成『Public』『Read-Only』和『Write-Only』三塊,這是很多人都會採用的方案,不管有沒有網路垃圾桶。沒吃過虧,沒有發生自己辛辛苦苦建的檔案,被別人給 delete 整個 Folder,還不簡單,點個 Folder 然後按個 X,就永遠消失.... 還沒人敢承認是他幹的......你不會認為【網路垃圾桶】是很重要的!
你說呢?管一堆 Windows 電腦好,還是一堆 Mac 電腦好管?還是你以為網管真是那麼好當的?
這個問題我已經遇到好幾次,攻擊的對象是 SMTP,下場是..... Mail Server 整部幾乎 100% 忙碌,對外頻寬變慢....例如病毒入侵一台 Client,然後持續送出更新指令,讓伺服器被不斷複製的檔案塞爆而癱瘓。這種攻擊將比 DDOS 還容易。
謝謝你說我是【好網管】....能夠用權限劃分、個人目錄、自動備份或是其他這種手段來讓版本衝突問題發生機率與損害降到最低的,就是好網管。