Haruskah pengembang memiliki izin administrator di PC mereka

137

Haruskah pengembang memiliki izin administrator di PC mereka atau apakah cukup memberi mereka akses pengguna daya?

Beberapa komentar:

  • Jika mereka ingin mencoba beberapa aplikasi baru yang perlu diinstal, maka mereka dapat mencobanya di mesin virtual dan kemudian meminta administrator jaringan untuk menginstalnya untuk mereka. Apakah menurut Anda itu akan berhasil?
  • Adakah yang perlu dilakukan pengembang di PC mereka yang memerlukan izin administrator?

Kami adalah tim dari 5 pengembang dan membangun aplikasi web

Craig HB
sumber
116
Jika saya masuk ke suatu pekerjaan dan ternyata saya tidak memiliki hak admin ke komputer saya, saya tidak akan kembali keesokan harinya. Jadikan hidup developer Anda lebih mudah, bukan lebih sulit.
annakata
30
Pertanyaan ini akan mengalami bias pemilihan - ada kalanya mesin pengembang harus dikunci, tetapi respons semacam itu tidak akan pernah dipilih di situs yang ditujukan untuk pengembang.
romandas
5
Kurang umum dari yang orang kira. Dalam kebanyakan kasus, masalah yang mendasarinya adalah data sensitif - misalnya, undang-undang kerahasiaan perbankan Swiss cenderung menghalangi pengembang untuk melihat data pelanggan yang sebenarnya (rekonsiliasi akun dibiarkan sebagai latihan bagi pembaca). Dalam hal ini masalahnya bukan mengunci mesin tetapi menyediakan set data yang disterilkan untuk pekerjaan pengembangan. Sebagian besar situasi lain adalah persyaratan peraturan (misalnya bekerja dengan data rahasia) atau CYA yang melayani diri sendiri.
ConcernedOfTunbridgeWells
12
Saya bertanya-tanya bagaimana pertanyaan yang sama akan terungkap di ServerFault ... (@romandas)
Ben Mosher
4
@BenMosher: inilah jawaban Anda: serverfault.com/questions/232416/…
kmote

Jawaban:

233

Jawabannya iya'. Pengembang perlu menggunakan konfigurasi sistem untuk menguji item, menginstal perangkat lunak (jika tidak ada yang lain, untuk menguji proses instalasi dari apa pun yang sedang mereka kembangkan), mencari tahu tentang registri dan menjalankan perangkat lunak yang tidak akan berfungsi dengan baik tanpa hak istimewa admin (hanya untuk membuat daftar beberapa item). Ada sejumlah tugas lain yang tidak terpisahkan dengan pekerjaan pengembangan yang memerlukan hak istimewa administrasi untuk melakukannya.

Mengingat bahwa staf pengembangan tidak selalu memiliki akses root ke sistem produksi, hak admin pada PC lokal tidak membahayakan keamanan sistem produksi secara signifikan. Hampir tidak ada alasan operasional yang sah untuk membatasi akses admin ke PC lokal bagi staf yang membutuhkannya untuk melakukan pekerjaan mereka.

Namun, alasan terpenting untuk menyediakan akses administratif adalah karena menyiapkan lingkungan pengembangan yang dikompromikan atau kelas dua mengirimkan pesan ke staf pengembangan Anda:

'Kami sangat menghargai pekerjaan Anda sehingga kami siap untuk secara signifikan membahayakan kemampuan Anda untuk melakukan pekerjaan Anda tanpa alasan yang jelas. Faktanya, kami cukup senang melakukan ini untuk menutupi pantat kami sendiri, menjadi kaki tangan birokrasi kecil atau karena kami tidak bisa diganggu. Itu kasus terbaik. Kasus terburuknya adalah kami benar-benar tipe orang gila kontrol yang melihatnya sebagai kebiasaan kami untuk memberi tahu Anda bagaimana melakukan pekerjaan Anda dan apa yang Anda lakukan atau tidak perlu lakukan. Puaskanlah apa yang Anda berikan dan bersyukurlah bahwa Anda memiliki pekerjaan sama sekali. '

Secara umum, menyediakan lingkungan kerja kelas dua (apalagi cacat fundamental) untuk staf pengembangan adalah resep untuk konsekuensi alami membuat marah staf Anda - ketidakmampuan untuk mempertahankan orang yang kompeten, pergantian staf yang tinggi, moral yang buruk dan kualitas pengiriman yang buruk. Keluar dari cara Anda untuk melakukannya - terutama jika ada nada berlebihan dari keinginan birokrasi - hanya tidak bertanggung jawab.

Ingatlah bahwa pergantian staf Anda tidak hanya menimbulkan biaya penggantian staf. Biaya paling serius dari pergantian staf adalah bahwa sebagian besar yang bertahan adalah kayu mati yang tidak bisa mendapatkan pekerjaan yang lebih baik. Seiring waktu, hal ini menurunkan kemampuan departemen yang terpengaruh. Jika industri Anda cukup dekat, Anda juga bisa mendapatkan reputasi.

Satu hal yang perlu diperhatikan adalah bahwa hak akses administratif bukanlah masalah untuk pengembangan di sistem unix-oid atau mainframe daripada di Windows. Pada platform ini, pengguna dapat melakukan lebih banyak hal di domain mereka sendiri tanpa memerlukan izin seluruh sistem. Anda mungkin masih menginginkan akses root atau sudo untuk pengembang, tetapi tidak memiliki akses ini akan lebih jarang terjadi. Fleksibilitas ini adalah alasan yang signifikan tetapi kurang diketahui untuk keberlangsungan popularitas sistem operasi turunan unix di sekolah Ilmu Komputer.

ConcernedOfTunbridgeWells
sumber
3
Ada perbedaan antara memiliki hak admin dan menjalankan semuanya dengan hak admin :) Banyak pengembang tentunya membutuhkan hak admin. Tetapi menjalankan semuanya secara interaktif dengan hak admin pada sistem lokal bukanlah hak istimewa. Ini membuka serangan terhadap sistem produksi yang dapat diakses oleh pengembang dan PC lokal yang dikompromikan memberi penyerang akses yang sama. Ini lebih mudah dari yang Anda pikirkan. Keamanan adalah masalah lapisan-ke-lapisan, hak istimewa paling rendah per proses dan masalah pelatihan pengguna. Menghormati keamanan setiap perangkat adalah satu-satunya cara: vimeo.com/155683357
Oskar Duveborn
Saya mendukung pemberian hak admin lokal kepada pengembang, tetapi mengatakan "hak admin pada PC lokal tidak secara signifikan membahayakan keamanan sistem produksi" akan bergantung pada lingkungan Anda. Yang menjadi perhatian kebanyakan orang TI adalah Anda akan menginstal perangkat lunak yang berisi malware / virus yang dapat menyebar ke seluruh perusahaan atau jika seseorang menyusupi mesin lokal Anda dan Anda memiliki file data sensitif yang disimpan secara lokal atau di database lokal. Di dunia yang sempurna, tidak ada pengembang yang memiliki akses ke file data HIPAA / PCI & semua basis data pengembang dibersihkan, tetapi kami tahu ini bukan masalahnya.
L_7337
87

Pengembang harus memiliki kendali penuh dan total atas mesin yang mereka gunakan. Sebagian besar alat debugging memerlukan izin admin untuk terhubung ke runtime aplikasi yang mereka buat.

Lebih lanjut, pengembang sering mengunduh dan mencoba hal baru. Menambahkan langkah-langkah tambahan seperti memerlukan admin jaringan untuk datang dan menginstal sesuatu untuk mereka akan membuat pengembang frustasi dan dengan cepat akan membuat hidup seperti neraka bagi orang yang mengoperasikan jaringan.

Yang mengatakan, mereka harus menjadi admin di kotak MEREKA, bukan jaringan.

Bukan saya
sumber
5
Masalah terbesar yang saya hadapi dengan pengembang dengan izin admin adalah Anda menerima begitu saja hak yang Anda miliki atas sumber daya komputer lokal Anda. Banyak sekali hasil software yang jelek - menulis ke C: \ Program Files, menulis ke HKLM, dll. Di workstation Anda, mungkin, tetapi memerlukan pengujian di tempat yang tidak Anda inginkan.
SqlRyan
4
@rwmnau: Itu tidak berlaku untuk pengembangan web. Selain itu, masalah menjadi jelas terlihat cukup cepat ketika QA menggunakan izin normal.
NotMe
2
Membuat VM tersedia dan melakukan uji coba login tanpa hak istimewa admin adalah cara yang baik untuk memfasilitasi pengujian bahwa perangkat lunak akan berjalan dengan izin pengguna normal.
ConcernedOfTunbridgeWells
Perangkat lunak yang dirilis dengan izin khusus admin tersebut mengalami proses QA yang sangat buruk (atau tidak sama sekali). Perangkat lunak harus diuji dalam lingkungan kehidupan nyata, oleh karena itu QA harus menangkapnya lebih awal dan masalah yang diabaikan oleh pengembang akan diperbaiki. Baik?
2
@rwmnau - Setiap pengembang yang sepadan dengan mereka sangat menyadari hal ini, tetapi jawabannya bukan untuk mengunci mesin dev mereka. Ini untuk memberi mereka lingkungan pengujian sehingga mereka dapat menerapkan proyek mereka sesuai keinginan mereka untuk menyelesaikan masalah ini.
Spencer Ruport
48

Iya dan tidak.

Ya, ini menghemat banyak waktu untuk mengganggu dukungan sistem.

Tidak, pengguna Anda tidak memilikinya, jadi jangan mengandalkannya.

Kami mengembangkan dengan izin admin dan menguji tanpa. Yang berhasil dengan benar.

Toon Krijthe
sumber
11
Istri saya harus berdebat untuk mendapatkan akun non-administrator di komputernya, sehingga dia dapat memastikan bahwa pengguna dapat melakukan apa yang dia bisa. Kebijakan Anda benar-benar tepat (dan karena itu diberi suara positif).
David Thornley
1
Tepatnya, dev harus memiliki admin, pengujian, dan QA harus memiliki pengguna.
Dr. Watson
Saya sangat setuju dengan Anda! Akses admin sangat bagus untuk pengembangan, tetapi sebagian besar pengguna tidak akan memilikinya (jika Anda mengembangkan perangkat lunak perusahaan ... TI biasanya mengunci semuanya dengan baik).
Pulsehead
18

Admin lokal ya, untuk semua alasan yang disebutkan di atas. Admin jaringan tidak, karena mereka pasti akan ditarik ke dalam tugas administrasi jaringan karena "mereka bisa". Pengembang harus berkembang. Administrasi jaringan adalah pekerjaan yang sama sekali berbeda.

Nick Van Brunt
sumber
15

Pengembang biasanya perlu melakukan hal-hal yang tidak akan dilakukan oleh kebanyakan orang, dan biasanya harus memiliki akun administrator. Membuat mereka melompati rintangan yang canggung akan membuang-buang waktu dan menurunkan semangat mereka. Mungkin ada pengecualian dalam situasi keamanan tinggi, tetapi jika Anda tidak dapat mempercayai seseorang dengan akun admin, Anda pasti tidak dapat mempercayai kode mereka.

Mereka juga harus memiliki akun yang tersedia dengan izin yang sama dengan penggunanya (lebih dari satu akun jika kumpulan pengguna memiliki status izin yang berbeda). Jika tidak, mereka mungkin hanya mengembangkan sesuatu yang keren, menerapkannya, dan kemudian merasa itu tidak akan berfungsi untuk pengguna.

Ada juga terlalu banyak cara untuk mengacaukan komputer dengan akun admin (ya, saya telah melakukannya). Departemen TI memerlukan kebijakan bahwa mereka akan mencitrakan ulang komputer pengembang jika mereka tidak dapat memperbaikinya dengan cepat. Di satu tempat saya mengontrak, saya harus menandatangani salinan kebijakan itu untuk mendapatkan akun admin saya.

Ini adalah jawaban yang cukup spesifik untuk Windows. Di Linux dan sistem Unix-y lainnya, pengembang dapat lebih sering bertahan hanya dengan akun pengguna, seringkali tidak memerlukan akun lain untuk pengujian (jika mereka memiliki akun sudo, mereka tahu kapan mereka menggunakan sudo, tetapi mereka mungkin memerlukannya dengan izin grup yang sama), dan dapat melakukan kerusakan yang luar biasa pada OS dengan sangat mudah, sehingga diperlukan kebijakan TI yang sama.

David Thornley
sumber
4
"Mungkin ada pengecualian dalam situasi keamanan tinggi, tetapi jika Anda tidak dapat mempercayai seseorang yang memiliki akun admin, Anda pasti tidak dapat mempercayai kode mereka." - itu pemikiran yang bagus, terima kasih!
Pengguna
Anda tidak dapat mempercayai kode dengan cara apa pun: Anda harus melakukan kode peer review untuk semuanya. Dan menurut saya itu masuk akal juga untuk penginstalan: minta seseorang untuk "meninjau sejawat" perangkat lunak yang akan mereka instal.
Tim
10

Ya, Half-Life 1 (dan semua mod terkait: counter-strike, hari kekalahan, dll.) Membutuhkan hak administrator (setidaknya untuk operasi pertama, menurut saya) agar berfungsi dengan baik di Windows NT, 2000, XP, dll. .

Dan, developer macam apa yang tidak memainkan Counter Strike saat makan siang? (yang jelek pasti)

fortran
sumber
10

Setelah menahan rasa sakit karena harus mengembangkan tanpa hak admin pada mesin, jawaban saya hanya bisa ya, itu penting.

Jason
sumber
8

Benar! Bagaimana lagi saya menginstal pengelola unduhan untuk mengunduh film di malam hari?

Terkadang pengembang benar-benar perlu menginstal sesuatu atau mengubah sesuatu di sistem untuk menguji beberapa ide. Tidak mungkin jika Anda harus menghubungi admin setiap kali Anda perlu mengubah sesuatu.

Saya juga memiliki pengamatan pribadi saya bahwa beberapa admin cenderung mengencangkan semua yang mungkin untuk membuat hal-hal kecil bergantung pada mereka setiap hari jadi ... apa, mengamankan pekerjaan mereka? membuat marah pengguna lain? Tidak ada jawaban. Tapi akal sehat tidak terlihat di sini.

Terakhir kali ada masalah dengan PC saya, saya mengambil bagian aktif dalam memulihkan sistem, membuat beberapa saran bekerja dalam tim dengan admin, atau begitulah saya pikir ... Admin berubah menjadi sangat marah dan menuduh saya mencoba mengajar dia atau mendefinisikan ulang aturan. Saya kira itu hanya egonya karena dia tidak terlihat sekeren itu di kamar kami di antara rekan-rekan lainnya.

Pengguna
sumber
Saya sangat setuju. Setelah menjadi insinyur sistem selama 6 tahun, sangat menyakitkan harus menghubungi pusat bantuan untuk memperbaiki sesuatu.
Matthew Whited
8

Jawabannya adalah, developer harus memiliki 2 mesin !!

  • Satu pengembangan yang memiliki hak admin dan daya yang cukup, memori, ukuran layar, dan portabilitas, dan hak istimewa ADMIN, dengan perangkat lunak antivirus perusahaan dimuat tetapi dapat dikonfigurasi oleh pengembang bila diperlukan dengan kebijakan setel otomatis ..

  • Satu perusahaan yang memiliki beban perusahaan, kebijakan, hak pengguna non-admin, dll ... Pengembang dapat menggunakan yang ini untuk aplikasi mode rilis pengujian unit karena beberapa pengembang memiliki kebiasaan buruk melakukan semua pengujian unit dengan hak istimewa administrator.


sumber
9
Ide bagus ... tetapi kebanyakan perusahaan bahkan tidak akan memberi Anda satu mesin "bagus", apalagi dua.
Matthew Whited
1
Anda dapat melakukan mesin kedua di VM dengan build 'standar'. Ini sangat berguna jika jaringan pengembangan dipisahkan ke domainnya sendiri. VM produksi terpisah di domain utama memberi akses kepada developer ke sumber daya jaringan.
ConcernedOfTunbridgeWells
5

Jika Anda membalik pertanyaan, saya pikir ini akan menjadi lebih mudah untuk dijawab; haruskah kita menghapus izin administrator dari pengembang? Apa untungnya?

Tapi sebenarnya, menurut saya jawabannya tergantung pada konteks Anda, lingkungan Anda. Startup kecil akan memiliki jawaban berbeda untuk lembaga pemerintah bersertifikat ISO.

Ed Guinness
sumber
5

Ya, tetapi mereka perlu menyadari batasan yang akan dihadapi pengguna mereka saat menjalankan perangkat lunak di lingkungan yang lebih terbatas. Pengembang harus memiliki akses mudah ke lingkungan "biasa" dengan sumber daya dan izin terbatas. Di masa lalu, saya telah memasukkan penerapan build ke salah satu sistem "tipikal" ini (sering kali merupakan VM di workstation saya sendiri) sebagai bagian dari proses build, sehingga saya selalu dapat merasakan dengan cepat bagaimana perangkat lunak tersebut bekerja pada akhirnya- mesin pengguna.

Pemrogram juga memiliki tanggung jawab untuk mengetahui aturan keras dan cepat penulisan perangkat lunak untuk pengguna non-admin. Mereka harus tahu persis sumber daya sistem mana yang selalu diizinkan (atau dilarang) untuk diakses. Mereka harus mengetahui API yang digunakan untuk memperoleh sumber daya ini.

"Ini bekerja di mesin saya" tidak pernah menjadi alasan!

John Cromartie
sumber
5

Sebagai admin sistem, saya mendukung pengembang yang memiliki hak admin lokal di workstation mereka. Jika memungkinkan, bukan ide yang buruk untuk melakukan banyak hal dengan akun level 'pengguna' standar dan kemudian menggunakan akun 'admin' lain untuk membuat perubahan, menginstal aplikasi, dll. Seringkali Anda dapat sudo atau runas untuk mencapai apa yang Anda inginkan bahkan tanpa perlu login di luar. Ini juga membantu untuk mengingatkan kita tentang keamanan apa yang harus dilewati pengguna akhir saat merilis ke produksi.

Di samping catatan, disarankan juga untuk memiliki sistem [bersih] atau VM sehingga Anda dapat menguji hal-hal dengan benar dan tidak masuk ke skenario "tampaknya / berfungsi dengan baik di sistem saya" karena penyesuaian sistem.

atom255
sumber
3

Tidak Ada Pengguna Listrik

Pertama-tama, Power User pada dasarnya adalah administrator - jadi " membatasi " pengguna ke Power User tidak memberikan peningkatan keamanan apa pun pada sistem - Anda mungkin juga menjadi administrator.

Masuk secara interaktif sebagai pengguna biasa

Kedua, tentu saja seorang pengembang memerlukan akses administratif ke mesin pengembang mereka (dan server dan kotak kedua dan seterusnya) tetapi tentu saja tidak ada yang harus logon secara interaktif sebagai administrator selama pengembangan atau pengujian normal. Gunakan akun pengguna biasa untuk ini dan sebagian besar aplikasi.

Anda benar-benar tidak ingin menjalankan [masukkan browser, plugin, IM, klien email, dan sebagainya] sebagai administrator.

Anda biasanya tidak masuk ke kotak Linux Anda sebagai root, bahkan jika Anda memiliki akses root saat Anda membutuhkannya.

Gunakan akun administrator pribadi terpisah

Sediakan bagi pengembang akun administrator pribadi yang terpisah ke mesinnya (akun domain lebih disukai) yang juga merupakan administrator yang valid di server dev / pengujian lain dan kotak di mana orang tersebut memerlukan akses administratif.

Gunakan "run as" dan di Vista + UAC untuk meminta atau meminta prompt dan masukkan kredensial administratif untuk tugas dan proses hanya jika diperlukan. PKI dengan smartcard atau sejenisnya dapat sangat mengurangi tekanan dalam memasukkan kredensial sesering mungkin.

Semua orang senang (atau?;)

Kemudian akses audit. Dengan cara ini ada keterlacakan, dan cara mudah untuk mengetahui siapa yang menggunakan sesi layanan terminal pada server dev / pengujian tertentu yang harus Anda akses sekarang ...

Memang, pasti ada pekerjaan pengembangan yang tidak akan pernah membutuhkan hak administrator lokal - seperti kebanyakan pengembangan web di mana penerapan diuji terhadap server terpisah atau mesin virtual dan di mana cassini atau apa pun yang digunakan untuk debugging lokal benar-benar berjalan dengan baik sebagai pengguna biasa.

Oskar Duveborn
sumber
2
Anda mengatakan: jangan izinkan mereka masuk sebagai administrator, tetapi berikan kunci jika mereka perlu melakukan sesuatu yang memerlukannya. Saya membaca omong kosong yang sama ini di situs MS tentang UAC, dan ini menunjukkan kurangnya pertimbangan yang nyata mengenai seratus hal yang dilakukan developer dalam sehari.
NotMe
2
UAC dipasang untuk mencegah orang normal menembak diri sendiri di kaki. Jika seorang dev melakukan ini, malu padanya. Jika dia terus melakukannya maka dia perlu mencari pekerjaan lain.
NotMe
Jika Anda memberi mereka kunci, Anda benar-benar "mengizinkan" mereka, kami, untuk masuk sebagai admin. Hanya saja, melakukan itu untuk tugas sehari-hari bukanlah ide yang baik. Mengapa orang masih menganggap ini normal atau perlu hanya karena mereka geek, pembuat kode, atau admin berada di luar kemampuan saya.
Oskar Duveborn
Jika Anda pernah melihat apa yang dilakukan administrator sistem modern dalam sehari, Anda akan menyadari bahwa kebutuhan untuk akses administratif dan memasukkan kredensial alternatif jauh lebih tinggi daripada pembuat kode tingkat sistem hardcore mana pun. Mereka masih tidak masuk sebagai administrator untuk tugas sehari-hari, dan melakukannya dengan baik.
Oskar Duveborn
Anda biasanya tidak masuk sebagai root ke sistem unix bahkan ketika Anda mengelolanya jadi mengapa Anda melakukannya pada sistem Windows, bahkan jika Anda seorang pengembang? Itu tidak masuk akal. Menjalankan semua aplikasi acak seperti Skype atau yang lainnya dengan hak istimewa sistem yang tinggi sangatlah tidak penting - Anda hanya meningkatkan aplikasi yang membutuhkannya.
Oskar Duveborn
3

Saya bekerja terutama di dunia * nix dan model standar yang ada bagi pengembang untuk bekerja di akun pengguna normal yang tidak memiliki hak istimewa dengan kemampuan (melalui sudoatau su) untuk meningkatkan ke hak istimewa admin jika / bila perlu.

Saya tidak yakin apa pengaturan Windows yang setara, tetapi menurut pengalaman saya, ini adalah pengaturan yang ideal:

  • Di satu sisi, memiliki hak admin yang tersedia sesuai permintaan memberi pengembang kekuasaan penuh atas workstation-nya saat dibutuhkan.

  • Di sisi lain, perangkat lunak Windows memiliki sejarah panjang yang mengasumsikan bahwa semua pengguna memiliki hak admin, sehingga banyak program tidak akan berjalan untuk pengguna non-admin. Banyak masalah keamanan Windows berasal langsung dari persyaratan implisit ini, agar dapat menggunakan komputer dengan andal, semua pengguna harus menjadi admin. Ini harus berubah dan cara paling efektif untuk memastikan bahwa perangkat lunak Anda akan berjalan untuk pengguna non-admin adalah agar pengembang Anda menjalankannya sendiri sebagai pengguna non-admin.

Dave Sherohman
sumber
Saya rasa saya tidak pernah menemukan aplikasi bisnis yang tidak dapat dijalankan sebagai pengguna biasa dalam 5-10 tahun terakhir. Dulu saya adalah BOFH dan semua pengguna di tempat itu dipaksa untuk menjalankan semuanya sebagai pengguna normal sejak ~ 2001 sebenarnya - tidak ada privasi admin yang didelegasikan dan itu bekerja dengan baik dan menggagalkan banyak malware pada waktu itu. Ada juga shims otomatis yang diterapkan di versi Windows yang lebih baru jika aplikasi warisan seperti itu dijalankan (membodohinya di kotak pasir) dan dalam pekerjaan pengembangan sehari-hari saya, hanya Visual Studio yang pernah ditingkatkan ketika saya perlu melampirkan ke proses lain untuk debugging.
Oskar Duveborn
3

[maaf, bahasa Inggris bukan bahasa ibu saya, melakukan yang terbaik :)] Nah,

Pengalaman pribadi (saya seorang c ++ / SQL dev):

Saya dulu menjadi admin mesin windows saya di pekerjaan saya sebelumnya. Saya juga memiliki hak dbo (bukan dba) pada database, termasuk database lingkungan produksi. Dalam 2 setengah tahun dengan 8 orang memiliki hak tinggi yang gila ini ... kami tidak pernah mengalami masalah. Sebenarnya kami memecahkan banyak masalah dengan memperbarui db secara manual. Kami dapat melakukan banyak hal dengan sangat cepat untuk hot fix dan pengembang.

Sekarang saya berganti pekerjaan. Saya berhasil (banyak menangis) menjadi admin mesin windows saya. Tetapi server dev adalah server topi merah yang kita hubungkan menggunakan ssh. Mencoba menginstal Qt adalah penyiksaan, batas kuota, batas ruang, eksekusi dan hak menulis. Kami akhirnya menyerah dan meminta admin melakukannya untuk kami. 2 minggu kemudian masih belum ada yang dipasang. Saya menjadi sangat cepat dalam membaca surat kabar dan alt + tab memukul.

Saya meminta hak admin, karena hanya pengembang perangkat lunak saya yang menggunakan mesin ini.

-> Answer: "Jika ada proses maka Anda tidak boleh melakukan apapun yang Anda inginkan. Ini harus berjalan dengan baik sekali dalam prod".

-> Mencoba menjelaskan kepada manajer non teknis: "Saya tidak akan memiliki hak admin apa pun dalam lingkungan produksi atau UAT. Tetapi mesin pengembang saya berbeda. Jika saya membuat kursi alih-alih perangkat lunak, dapatkah Anda memberi tahu saya bahwa saya bisa tidak meletakkan alat apa pun yang saya inginkan di bengkel saya karena bengkel saya harus terlihat seperti tempat kursi akan digunakan? Saya memberikan paket yang dapat dieksekusi untuk uat. Libs dan alat yang saya gunakan untuk membangunnya tidak terlihat oleh pengguna akhir atau untuk orang yang memasang paket. "

Saya masih menunggu hari ini. Saya menemukan solusi, buka lingkungan pengembangan, temui juri online favorit Anda, tantang diri Anda sendiri. ketika seseorang melihat layar Anda, dia akan melihat Anda memprogram. ;)


sumber
2

Anda dapat menjawabnya dengan dua cara. Ya dan tidak, atau tergantung. - Bisakah saya lebih samar ....

Itu tergantung apakah diperlukan bagi mereka untuk melakukan pekerjaan mereka. Jika demikian maka beri mereka kekuasaan administratif atas komputer mereka. Jika tidak maka jangan. Tidak semua pengembangan perangkat lunak membutuhkan seorang insinyur untuk memiliki hak admin.

Ya dan tidak tergantung pada pandangan Anda. Beberapa insinyur melihat komputer mereka sebagai domain mereka dan mereka adalah aturan domain mereka. Orang lain tidak menginginkan tanggung jawab.

Saya pernah bekerja di satu perusahaan di mana saya tidak memiliki hak admin dan kapan pun saya perlu melakukan sesuatu yang memerlukan hak admin, saya harus menghubungi meja bantuan dan mereka memberi saya hak admin sementara sampai saya melakukan boot ulang. Ini terkadang menyebalkan, tapi begitulah keadaannya, jadi saya menjalaninya. Saya juga pernah bekerja di tempat-tempat yang saya memiliki hak admin penuh atas komputer saya. Ini bagus kecuali saat saya menginstal beberapa perangkat lunak yang menyemprot OS dan harus membawa komputer saya ke meja bantuan dan meminta mereka melakukan image ulang hard drive ....

Saya pribadi merasa bahwa seorang insinyur harus memiliki hak admin atas komputer mereka, tetapi dengan pemahaman bahwa jika mereka mengacaukannya maka gambar baseline baru dapat dimuat ulang dan mereka akan kehilangan apa pun yang telah dilakukan sejak baseline asli. Saya tidak percaya bahwa setiap orang di perusahaan harus memiliki hak admin ke komputer mereka. Akunting, asisten administrasi, dan departemen lain sebenarnya tidak memiliki kebutuhan untuk memiliki hak tersebut sehingga tidak boleh diberikan.

Menandai
sumber
Saya pernah menjadi kontraktor untuk sebuah perusahaan di mana, untuk mendapatkan hak admin, saya harus menandatangani pengakuan bahwa staf TI akan menghabiskan tidak lebih dari sepuluh atau lima belas menit untuk mencoba memperbaiki komputer saya dan kemudian akan melakukan penghapusan penuh dan ulang. -gambar. Bagi saya itu adil.
David Thornley
Sepakat. Dengan kekuatan besar datanglah tanggung jawab yang besar.
CraigTP
2

ht tp: //msdn.microsoft.com/en-us/library/aa302367.aspx

Dalam pengalaman saya, kompromi antara kami (pembuat kode) dan mereka (keamanan) selalu dibutuhkan. Saya akui (meskipun saya benci), ada manfaat dari artikel Microsoft di atas. Karena saya telah menjadi programmer selama bertahun-tahun, saya telah mengalami rasa sakit di mana saya hanya perlu menginstal debugger yang berbeda, hanya untuk merasa kesal saya tidak bisa. Itu memaksa saya untuk berpikir kreatif bagaimana menyelesaikan pekerjaan saya. Setelah bertahun-tahun berjuang melawan tim keamanan kami (dan beberapa diskusi), saya memahami tugas mereka untuk mengamankan semua area, termasuk desktop saya. Mereka menunjukkan kepada saya kerentanan harian yang muncul, bahkan pada aplikasi Quicktime yang paling sederhana. Saya dapat melihat frutrasinya setiap kali saya ingin menginstal utilitas cepat atau mengubah IIS lokal saya sehingga saya dapat menyebabkan masalah keamanan yang serius. Saya tidak sepenuhnya memahami hal ini hingga saya melihat pengembang lain dikalengkan. Dia mencoba untuk men-debug dan akhirnya mematikan Symantec hanya untuk mendapatkan (dan kemudian MEMBERIKAN) beberapa virus ke ratusan orang. Itu berantakan. Saat berbicara dengan salah satu "orang-orang cabul" (petugas keamanan) tentang apa yang terjadi, aku bisa melihat dia hanya ingin berkata, "Sudah kubilang ...".

Saya telah belajar bahwa gadis-gadis kami (yah, setidaknya milik saya) hanya ingin melindungi perusahaan kami. Kabar baiknya adalah kami telah menemukan kompromi, dan saya dapat menyelesaikan pekerjaan saya dan orang-orang sechead keren dengan jaringan aman kami!

Kepercayaan


sumber
1

Ya, jika Anda ingin pentester atau beberapa pengguna jahat yang terampil mendapatkan pijakan dalam membahayakan domain Anda.

yaitu Kompromi akun tingkat rendah> Temukan lokasi admin -> Mimikatz -> Tingkatkan izin -> Admin domain.

Jadi tidak, pengguna biasa seharusnya bukan admin.

Juga Microsoft mengatakan UAC bukanlah batas keamanan, jadi jangan gunakan seperti itu. Ada berbagai bypass dunia nyata dari UAC yang tersedia.

Jika mereka membutuhkan admin sebagai bagian dari peran pekerjaan mereka, berikan domain akun pengguna admin lokal terpisah yang digunakan untuk menginstal perangkat lunak saja (dengan izin admin hanya di mesin mereka sendiri), tidak pernah untuk penggunaan umum atau akses internet. Ini harus memiliki kebijakan sandi yang lebih ketat (misalnya panjang minimum 15 karakter). Fungsionalitas runas harus digunakan untuk ini.

Setiap lingkungan di mana akun pengguna biasa adalah admin adalah resep untuk bencana keamanan.

SilverlightFox
sumber
0

Wow, pertanyaan ini pasti akan membuka beberapa jawaban yang menarik. Sebagai balasan saya mengutip yang sering digunakan - 'It Depends' :)

Di perusahaan kecil, ini mungkin hanya masalah pragmatis. Para pengembang juga cenderung menjadi yang paling mahir secara teknis, jadi masuk akal bagi mereka untuk mengatur mesin mereka sendiri.

Secara pribadi, saya adalah penggemar "akun admin" yang dapat digunakan bila diperlukan - yaitu "Jalankan Sebagai .." (Saya melihat pendekatan ini pada prinsipnya sangat mirip dengan UAC di kemudian hari).

Jika Anda mengembangkan perangkat lunak desktop, bukan ide yang buruk bagi pengembang untuk bekerja dalam batasan yang akan dialami pengguna akhir mereka - yaitu hak terbatas atau terbatas. Jika Anda membangun perangkat lunak di bawah hak terbatas, kemungkinan besar Anda akan mengalami masalah yang sama dengan yang akan dihadapi pengguna target Anda dengan serangkaian izin yang sama.

Karena itu, jika Anda memiliki lab pengujian yang baik dan / atau tim QA yang layak, ini mungkin menjadi titik perdebatan - terutama jika Anda memiliki setengah praktik ALM yang layak.

Jadi akhirnya - saya berkembang tanpa UAC, terutama karena saya percaya diri dan keterampilan saya. Dalam lingkungan tim, saya akan melakukan pemungutan suara. Dalam organisasi yang lebih besar Anda mungkin tidak memiliki kebebasan ini .. Admin Perusahaan sering kali memiliki keputusan akhir :)

RobS
sumber
0

Di perusahaan saya, pengembang, insinyur, dan atasan saya (pemilik perusahaan) memiliki hak istimewa admin lokal. Bos saya juga memiliki hak istimewa admin jaringan, kalau-kalau saya tertabrak bus bandel itu (atau berhenti). Semua orang terkunci.

Sebagai sysadmin, pengaturan ini membuat saya sedikit sedih dari waktu ke waktu, terutama ketika perangkat lunak yang tidak disetujui terinstal. Namun, datang dari latar belakang pengembang, saya memahami kebutuhan pengguna listrik untuk memiliki kontrol lebih besar atas lingkungan mereka dan dengan demikian, saya bersedia untuk bertahan dengan kekhasan atau masalah sesekali yang mungkin muncul. Saya melakukan backup rutin workstation mereka - untuk berjaga-jaga.

Ngomong-ngomong, saya memiliki lebih banyak masalah dengan bos yang mengutak-atik berbagai hal daripada dengan orang lain. Seperti pertanyaan lama, "Di mana seekor gajah duduk? Di mana saja dia mau!" Tapi di sebuah perusahaan kecil di mana dia pada dasarnya adalah sysadmin "cadangan", tidak banyak pilihan.

Mike
sumber
-1

Itu tergantung pada keterampilan pengembang dan apakah dia seorang konsultan atau bukan.

Saya pikir masuk akal bahwa pengembang yang berpengalaman dan dapat dipercaya memiliki hak untuk melakukan apa pun yang dia inginkan dengan PCnya selama itu tidak membahayakan produktivitasnya.

Manrico Corazzi
sumber
6
Mengapa Anda mengikat tangan konsultan dan bukan karyawan biasa? Bukankah mereka berdua melakukan pekerjaan yang sama? Apakah Anda mengharapkan lebih sedikit dari konsultan meskipun Anda cenderung membayar lebih untuk mereka? Ini terdengar sangat bodoh. Lebih lanjut, jika seorang pengembang tidak dapat menjalankan mesinnya sendiri, mereka membutuhkan pekerjaan baru
NotMe
-1

Tidak seorang pun di Windows XP boleh menggunakan akun administrator untuk penggunaan sehari-hari, dan di Vista jika Anda harus menjadi administrator, setidaknya UAC diaktifkan. Terutama pengembang web dan pengembang lain yang menjelajahi web dengan Internet Explorer.

Apa yang dapat Anda lakukan adalah meminta pengembang menggunakan akun pengguna biasa mereka, tetapi memberi mereka akun kedua yang merupakan administrator di PC mereka sehingga mereka dapat menggunakannya sesuai kebutuhan (Jalankan Sebagai). Saya tahu mereka mengatakan pengembangan web, tetapi untuk pengembangan Windows, perangkat lunak Anda harus diuji menggunakan akun pengguna biasa, bukan sebagai administrator.

Bratch
sumber