Kami memasang sistem media digital di stasiun radio kampus tempat saya bekerja. Kami mencoba memberi akses kepada programmer (baca; DJ, bukan coders) musik, tanpa mengizinkan mereka menyalinnya ke flash drive mereka atau mentransfernya di Internet.
Kami berjalan pada sistem Windows (Windows XP untuk mesin klien, dan Windows Server 2008 untuk server media). Ide saya adalah ini.
- Buat pengguna (ProgramUser) yang tidak memiliki akses sama sekali ke media digital.
- Buat pengguna (MediaUser) yang memiliki akses hanya baca ke media digital yang tidak diketahui oleh programmer dan tidak tahu kata sandinya.
- Mintalah pengguna masuk ke Windows sebagai ProgramUser, memberi mereka tidak ada akses sama sekali ke media.
- Jalankan aplikasi playback ( Traktor ) kami sebagai MediaUser, yang memungkinkan programmer untuk memutar kembali media tetapi tidak menyalin atau memodifikasinya.
Ini sepertinya solusi yang sempurna, tetapi ada satu gotcha. Jika aplikasi atau mesin pemutaran macet, programmer adalah satu-satunya orang yang dapat menjalankannya kembali dalam jumlah waktu yang wajar (kami adalah stasiun radio FM 15 kW, jadi downtime adalah masalah besar). Karena itu dilema saya ...
Bagaimana saya bisa memberi programmer kemampuan untuk memulai aplikasi pemutaran kami sebagai pengguna yang mereka tidak tahu kata sandinya?
sumber
Nonaktifkan USB flash drive, akses Internet, dll. Pada mesin ini.
sumber
Ada beberapa cara yang dapat saya pikirkan secara langsung untuk mengatasi masalah ini. Pertama (dan lebih sulit) adalah menulis layanan windows kecil yang meluncurkan Traktor. Dengan demikian, ProgramUser dapat meminta layanan untuk instance Traktor baru, dan layanan berjalan sebagai MediaUser sehingga Traktor diluncurkan sebagai MediaUser.
Kemungkinan lain, dan jauh lebih mudah, adalah mengatur pintasan startup yang meluncurkan Traktor di setiap login - pintasan Windows memungkinkan Anda untuk mengatur kredensial pengguna yang sesuai dalam properti pintasan. Jika komputer mogok, programmer hanya perlu masuk, dan mereka memiliki Traktor baru yang berjalan sebagai MediaUser!
Semoga salah satu solusi ini akan bekerja untuk Anda!
sumber
Anda dapat membuat program yang memulai proses MediaUser untuk DJ. Ini dapat dilakukan sehingga akan berjalan sebagai ProgramUser.
Kata sandi / kredensial untuk MediaUser perlu dikompilasi ke dalam program, sehingga ia mengetahui kata sandi, tetapi pengguna akhir tidak perlu menyadari hal ini. Mereka hanya memiliki tombol atau program yang bertuliskan "Restart Tracktor", dan itu dapat melakukan semua pekerjaan.
Berikut adalah contoh proses C #. Satu-satunya perubahan adalah hard-coding kredensial sehingga DJ tidak melihatnya.
sumber
Lihatlah Steel RunAs. Saya telah menggunakannya untuk beberapa skrip dalam karir SysAdmin saya ketika tidak ada alternatif lain yang masuk akal. Ini pasti berguna. Ini menghasilkan file yang dapat dieksekusi, di mana ia mengenkripsi kredensial yang disimpan. Tautan
sumber
Situasi yang ideal bagi Anda untuk memodifikasi Traktor untuk dijalankan sebagai layanan, dengan GUI terpisah. Ini memberi Anda opsi keamanan terbaik - Traktor kemudian akan berjalan sebagai pengguna dengan kredensial yang benar, dan tidak ada yang perlu tahu apa itu, atau perlu mengetikkan kata sandi untuk memulai kembali. Bahkan, Anda dapat membuatnya me-restart sendiri jika macet di layanan snapin.
GUI Anda untuk menggerakkan Traktor kemudian ditulis sebagai aplikasi sendiri yang dijalankan pengguna sebagai dirinya sendiri, ia mengirimkan pesan ke layanan Traktor (melalui TCP / IP, RPC, memori bersama, atau bentuk lain dari IPC) untuk membuatnya melakukan apa yang diinginkan oleh pengguna. keinginan pengguna. Jika Anda membuat GUI berfungsi menggunakan protokol lintas jaringan (misalnya, TCP / IP) maka pengguna dapat masuk ke workstation-nya dan layanan traktor dapat berjalan pada server yang lebih andal, mungkin dikunci untuk mencegah reboot "tidak disengaja". Jika Anda baik, Anda bisa menulis aplikasi web untuk menggerakkan Traktor (yaitu, server web akan mengirim pesan ke layanan) dan pengguna Anda dapat menjalankan stasiun dari rumah!
Layanan traktor akan dimulai dengan server, tanpa perlu login.
sumber