Mac OS X: 網路管理Login Script來隱藏程式

來源:互聯網
上載者:User
注: 本文是基於TJ Royall的文章login script to hide applications from certain OD users改變的.

首先, 在一個企業環境中, 不同的使用者組可以被允許的程式可以是不同的, 但是一般來說, 所有登入到一台機器的使用者都有對/Applications目錄的read許可權,所以, 只要是被安裝在/Applications(包括Utility,Server等子目錄)裡面的應用程式, 登入的使用者就可以看見. 這樣, 在有的企業環境中, 一些使用者就會產生:"為什麼我不能運行這個程式呢?是不是管理員的失誤呢?", "聽說這個聊天程式挺好, 也在硬碟上, 問問管理員是否可以讓我玩玩."等等這樣的出於好奇等原因的問題, 這樣既對一線使用者的工作效率產生負面影響, 同時管理員也會面對這樣的眾多詢問, 從要要花時間檢查使用者的設定情況等, 浪費大量時間.

另外, 即便不是中大型的網路管理企業使用者, 在一個未實施網路管理的鬆散管理中, 管理員或者應用實施人員, 也可以通過下面的思路來做一些工作, 減少沒必要的行政時間浪費.

基本思路是這樣, 通過使用者的組設定的不同, 可以給定禁止使用者使用應用程式的列表, 在使用者每次登入系統的時候, 運行一個script程式來隱藏禁止使用的程式, 而當使用者退出系統的時候樣釋放列表中的程式, 這樣就可以通過維護列表來系統管理使用者可以看見的應用程式了.

這樣涉及到兩個scripts程式, 一個是login script, 一個是logout script.

Royall原來的文章中沒有涉及logout script,他使用的方法在一個比較大型的系統中產生登入很慢的抱怨, 而且使用的方法只是一個架構而已.

這裡使用網路www服務, 來系統管理使用者組的應用程式列表, 因為www服務可以說從Windows到Linux, Unix, BSD等等當今主流系統都有免費而功能強大的www伺服器, 我們這裡只使用其中的最簡單的功能.在伺服器上存放不同組的被禁止的應用程式的列表, 並根據組名分別存放到不同檔案. 只要是通過普通的browser可以看到這些檔案, script就可正常存取, 在下面的script裡面只要是修改伺服器的地址就可以了.

  1. #1. Create a logfile
  2. LOG="/tmp/hideapps.log"
  3. #2. Path to the SetFile Binary from Developer Tools.
  4. SETFILE="/usr/local/bin/SetFile"
  1. #3. Path to the folder with applications we want to hide.
  2. APP_PATH="/Applications" # your path here
  1. #4. We need to get the MCX workgroup so we can hide the right apps.
  2. WORKGROUP=`defaults read /Library/Managed/ Preferences/$1/com.apple.MCX workgroup`
  3. #5. Set file name for hidden file list.
  4. hiddenfilelist="/tmp/hiddenfilelist.txt"
  5. #6. Set hidden apps for each workgroup. Sample application names are included.
  6. #. Be sure to include the .app after the application name.
  7. httpgroupfile="http://10.0.0.1"
  8. groupfile=`curl -m 60 -fRs -o $hiddenfilelist $httpgroupfile/$WORKGROUP`
  1. echo "Workgroup is $WORKGROUP. Will now hide applications, list in file $hiddenfilelist which is got from $httpgroupfile/$WORKGROUP." >> $LOG
  2. grep httpgroupfile | awk {print $1} | xargs $SETFILE -a V
  3. echo "Applications successfully hidden. Exiting." >> $LOG
  4. exit 0 

至於logout的script. 只要是將上面的隱藏命令改為顯示就可以了, 這裡不在贅述.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.