Apakah hak “Pengguna” lokal cukup atau apakah pengembang memerlukan Administrator Lokal atau Pengguna Kuat saat melakukan koding?

17

Kami memiliki kru pengembangan lepas pantai yang memiliki kebiasaan buruk menginstal perangkat lunak tidak masuk akal pada desktop perusahaan (yang tidak ada hubungannya dengan fungsi pekerjaan mereka) dan sedang mempertimbangkan untuk menghapus hak administrator lokal mereka.

Apakah Administrator Lokal, atau Pengguna Daya lokal persyaratan dengan VS2010? Bagaimana Anda menjalankan tanpa hak tinggi? Masalah apa yang akan Anda hadapi?

goodguys_activate
sumber
1
Menemukan utas yang sangat mirip pada SO stackoverflow.com/questions/701214/…
goodguys_activate
1
Utas lain yang serupa (hari ini) pada serverfault serverfault.com/questions/232416/...
goodguys_activate

Jawaban:

19

Seorang programmer harus bekerja sebagai pengguna terbatas dengan akses admin. Artinya, programmer harus menjadi admin mesin, tetapi saat bekerja, ia harus selalu menggunakan akun pengguna yang terbatas.

Jika Anda memerlukan hak tinggi untuk bekerja, selain menginstal perangkat lunak, Anda melakukan sesuatu yang sangat salah. Lebih buruk lagi, jika Anda bekerja sebagai pengguna listrik atau menonaktifkan permintaan UAC atau sejenisnya, Anda mengabaikan masalah yang akan mempengaruhi pengguna akhir dari perangkat lunak Anda, memaksa mereka untuk menjalankan dengan hak istimewa yang sama seperti yang Anda lakukan. Ini salah.

Ini benar, terlepas dari sistem operasi yang Anda gunakan. Padahal Windows tampaknya menjadi satu-satunya tempat di mana ia muncul.

Untuk memperjelas:

Ketika saya mengatakan pengembang harus menjadi pengguna terbatas, maksud saya bahwa mereka harus memiliki hak admin penuh untuk mesin, tetapi ketika mereka menguji kode mereka, itu harus dilakukan dalam lingkungan pengguna terbatas. Misalnya, pengembang dapat mengoperasikan mesin sebagai pengguna yang mampu Admin, tetapi menjalankan semua tes di mesin virtual atau dalam akun pengguna terbatas. Di Linux, ini berarti bahwa dev memiliki sudoakses; pada Windows, ini mungkin berarti akun tingkat Administrator dengan UAC dan fitur keamanan lainnya yang sepenuhnya diaktifkan.

greyfade
sumber
5
Ada beberapa kasus di mana berjalan sebagai administrator diperlukan (misalnya, untuk men-debug masalah yang muncul ketika berjalan di bawah IIS tetapi tidak di bawah server web pengembangan, misalnya) tetapi Anda benar bahwa untuk pengembangan sehari-hari Anda tidak perlu (dan tidak seharusnya) berjalan sebagai admin.
Dean Harding
2
Pengecualian lain untuk itu 'selalu menggunakan acct pengguna terbatas': Anda perlu (kembali) memulai / menghentikan layanan
Victor Hurdugaci
3
@ Viktor Hurdugaci: Itu sebabnya saya katakan akses admin harus tersedia. Ketika saya mengatakan programmer harus bekerja sebagai pengguna terbatas, saya tidak bermaksud bahwa mereka tidak boleh menjadi admin mesin mereka sendiri.
greyfade
9

Ini adalah masalah politik atau manajemen, bukan masalah teknis.

Pertimbangkan untuk membuat dan mengomunikasikan aturan "kami tidak ingin Anda menginstal perangkat lunak yang tidak relevan dengan fungsi pekerjaan Anda", sehingga bos dapat menindaklanjutinya.

Untuk membantu ini, administrator sistem dapat meminta setiap mesin daftar program yang diinstal. Jika Anda melakukan ini secara teratur, Anda dapat menulis sebuah program kecil untuk menunjukkan apa yang telah diinstal, sehingga Anda bisa mendapatkan gambaran umum singkat.

Karena itu, kecuali program tersebut ilegal atau secara moral tidak dapat diterima, lalu mengapa ini menjadi masalah?


sumber
13
+1: Jika Anda tidak bisa mempercayai programmer Anda untuk menjalankan dengan hak admin lokal maka Anda tidak bisa mempercayai programmer Anda, titik.
Kramii
@ Kramii - Di sini, saya menambahkan periode lain untuk itu.
Anto
6

Itu tergantung pada apa yang Anda harapkan dari mereka untuk berkembang secara mandiri.

Beberapa hal seperti konfigurasi IIS, debugging jarak jauh, modifikasi akses ke GAC, kemampuan untuk menjalankan MSI Anda sendiri pasti akan terpengaruh. Jika ini adalah hal-hal yang Anda harapkan sumber daya outsourcing dilakukan secara mandiri, saya tidak akan mencobanya tanpa banyak pengujian.

Jika orang-orang outsourcing Anda bekerja pada aplikasi desktop mereka dapat melakukan debug secara lokal, Anda mungkin akan lolos dengan beberapa masalah.

Dengan asumsi mereka menggunakan kontrol sumber Anda selalu bisa menjadwalkan re-image berkala dari mesin.

Sebagian besar tempat saya telah bekerja melakukan banyak kasus pertama, dan mengharapkan independensi tinggi, sehingga semua pengembang adalah admin lokal dan kebijakan perusahaan memungkinkan untuk tindakan disipliner jika Anda menginstal perangkat lunak yang tidak disetujui ke mesin apa pun dan menyebabkan masalah.

Tagihan
sumber
6

Saya memerlukan hak admin untuk menjalankan Apache pada port 80 pada pengembangan MacBook saya. Selain itu, tidak ada alasan saya tidak bisa berada di mesin terkunci tanpa hak admin. Dan saya bisa menggunakan port yang tidak standar, jika saya benar-benar perlu. Dari sudut pandang sumber daya perusahaan, masuk akal untuk membuat pengembang tidak menjadi pengguna istimewa mesin mereka.

Namun, mengunci pengembang di mesin mereka harus disertai dengan tim admin yang responsif dan mau. Jika saya tidak dapat menginstal barang sendiri, saya membutuhkan seseorang yang dapat melakukannya untuk saya, chop chop, dan tanpa menempatkan saya melalui tiga putaran dokumen persetujuan tentang hal itu. Jika perusahaan tidak mau berkomitmen untuk itu, maka mereka harus memberi pengembang menjalankan penuh kotak mereka.

Saya lebih suka yang terakhir, jelas, tapi saya bisa melihat kebijaksanaan yang pertama.

Dan Ray
sumber
4

Saya menjalankan VS 2010 bukan sebagai administrator sebagian besar waktu. Tetapi jika Anda ingin menambah atau menghapus layanan, mengkonfigurasi IIS, atau menggerumit di registri, Anda akan memerlukan hak admin. Juga beberapa alat pembuatan profil mendesak Anda untuk meluncurkan kembali VS sebagai admin. Jadi saya pikir memberikan akun orang-orang luar negeri Anda yang tidak memiliki kekuatan admin akan membuat mereka tidak melakukan beberapa (mungkin kecil) bagian dari pekerjaan mereka.

Terlebih lagi, dengan munculnya UAC, semakin banyak aplikasi sekarang dapat menginstal tanpa kekuatan admin. Mereka tidak meletakkan sesuatu di HKLM, mereka tidak menyentuh apa pun di bawah System32, mereka meletakkan exe di suatu tempat di bawah folder pengguna \ siapa pun, dan ini membuat mereka lebih mudah untuk dihapus tetapi mungkin tidak membahas titik awal Anda yang mereka pasang " perangkat lunak omong kosong "yang saya anggap maksud Anda permainan, pemutar musik, dll.

Jika Anda benar-benar ingin mencegah pemasangan lokal, mungkin taruhan terbaik adalah dengan visi lama "jaringan adalah komputer" dari masa Jawa awal. Semua orang bekerja dari sistem kontrol versi dan harus check in atau mengesampingkan setiap malam sebelum pulang. Email hidup di cloud bukan di mesin dev. Dll Kemudian kapan pun Anda mau, Anda dapat mem-image ulang mesin dev mereka (bahkan lebih mudah jika virtual) dan mereka yang tidak memiliki instalasi tambahan bahkan tidak akan menyadarinya. Agak seperti membersihkan lemari es kantor selama akhir pekan.

Tetapi berhati-hatilah - saya tidak akan bekerja di lingkungan itu. Saya memasang utilitas dan pembantu, dan saya kadang-kadang bermain game, dan tidak mau menerima seseorang yang mencoba mencegahnya. Saya produktif sekali. Jika beberapa pengembang Anda tidak produktif, menghapus instalasi lokal mereka tidak akan membuat mereka lebih produktif atau berdedikasi. Atasi masalah itu di root dan Anda tidak akan keberatan bahwa mereka adalah admin.

Kate Gregory
sumber
3

Saya kira menghapus hak admin dari pengembang harus datang bersama dengan menugaskan salah satu administrator sistem untuk menginstal perangkat lunak untuk tim. Jika Anda berdua tidak memiliki hak admin, dan tidak dapat meminta administrator untuk memasang barang-barang untuk Anda, Anda tidak memiliki tangan di depan tantangan yang Anda hadapi. Ini seperti Anda mengunci tim luar negeri Anda di penjara.

P Shved
sumber
1

Tergantung pada apa Anda menulis perangkat lunak.

Jika perangkat lunak Anda tidak perlu mengganggu sistem Anda, tidak perlu kekuatan administrator.


Solusi yang lebih baik: Untuk tujuan instalasi / pengujian, orang mungkin ingin menggunakan VM atau komputer lab uji.

Tamara Wijsman
sumber
0

Saya telah melihat dua pendekatan untuk ini. Salah satunya adalah membuat semua orang bekerja dari laptop, yang harus mereka serahkan ke admin ketika mereka pulang. Setelah admin memilikinya, mereka akan menempel di CD yang akan mem-image ulang mesin. Setelah itu dicitrakan ulang, itu pergi di rak, di mana itu akan tersedia untuk orang berikutnya yang membutuhkannya. Pastikan semua mesin identik, sehingga Anda tidak berakhir dengan orang-orang mencari-cari semuanya untuk mencari yang "bagus".

Hal lain yang saya lihat adalah membuat semua orang boot dari server Citrix. Mesin-mesin tidak memiliki penyimpanan lokal sama sekali, mereka hanya memuat gambar standar dari jaringan dan menjalankannya. Ini berfungsi lebih baik jika Anda memiliki "tipe" pengguna yang berbeda yang memerlukan konfigurasi berbeda (misalnya, pengembang UI memiliki gambar dengan Silverlight, pengembang WCF memiliki IIS dan SQL Server, dll.)

TETAPI, dengan semua yang dikatakan, saya pikir Thorbjorn [sic] memukul keras kepala: ini adalah masalah manajemen, dan mungkin tidak akan ditangani secara memadai dengan solusi teknis.

TMN
sumber