Yerel “Kullanıcı” hakları yeterli mi veya kodlama sırasında geliştiricilerin Yerel Yönetici veya Yetkili Kullanıcıya ihtiyacı var mı?


17

Kurumsal masaüstlerine (iş işlevleriyle ilgisi olmayan) saçma yazılım yükleme kötü alışkanlığı olan ve yerel yönetici haklarını kaldırmayı düşünen bir denizaşırı geliştirme ekibimiz var.

VS2010 için Yerel Yönetici veya yerel Yetkili Kullanıcı bir gereksinim mi? Yükseltilmiş haklar olmadan nasıl koşuyorsunuz? Hangi sorunlarla karşılaşacaksınız?



1
ServerFault bir başka benzer (bugün) iplik serverfault.com/questions/232416/...
goodguys_activate

Yanıtlar:


19

Bir programcı, yönetici erişimi olan sınırlı bir kullanıcı olarak çalışmalıdır. Yani, programcı makinenin yöneticisi olmalıdır, ancak çalışırken her zaman sınırlı bir kullanıcı hesabı kullanmalıdır.

Çalışmak için yükseltilmiş haklara ihtiyacınız varsa, yazılım yüklemek dışında herhangi bir şey için çok yanlış bir şey yapıyorsunuz. Daha da kötüsü, güçlü bir kullanıcı olarak çalışıyorsanız veya UAC istemlerini veya benzerlerini devre dışı bırakırsanız, yazılımınızın son kullanıcılarını etkileyecek sorunları, bunları yaptığınız aynı ayrıcalıklarla çalışmaya zorlarsınız. Bu yanlış.

Bu, çalıştığınız işletim sistemine bakılmaksızın doğrudur. Rağmen Windows ortaya çıktığı tek gibi görünüyor.

Netleştirmek için:

Geliştiricinin sınırlı bir kullanıcı olması gerektiğini söylediğimde, makinede tam yönetici haklarına sahip olmaları gerektiğini söylüyorum, ancak kodlarını test ettiklerinde, sınırlı kullanıcılı bir ortamda yapılmalıdır. Örneğin, geliştirici makineyi Yönetici özellikli bir kullanıcı olarak kullanıyor olabilir, ancak tüm testleri sanal bir makinede veya sınırlı bir kullanıcı hesabında çalıştırır. Linux'ta bu basitçe geliştiricinin sudoerişimi olduğu anlamına gelir ; Windows'ta bu, UAC ve diğer güvenlik özelliklerinin tam olarak etkinleştirildiği Yönetici düzeyinde bir hesap anlamına gelebilir.


5
Yönetici olarak çalıştırmanın gerekli olduğu bazı durumlar vardır (örneğin, IIS altında çalışırken, ancak geliştirme web sunucusu altında değilken görünen bir sorunu ayıklamak için), ancak günlük geliştirme için haklısınız yönetici olarak çalışmasına gerek yoktur (ve olmamalıdır).
Dean Harding

2
'Her zaman sınırlı bir kullanıcı hesabı kullanın' için başka bir istisna: bir hizmeti (yeniden) başlatmanız / durdurmanız gerekir
Victor Hurdugaci

3
@Victor Hurdugaci: Bu yüzden yönetici erişiminin kullanılabilir olması gerektiğini söylüyorum. Programcının sınırlı bir kullanıcı olarak çalışması gerektiğini söylediğimde, kendi makinelerinin yöneticisi olmamaları gerektiği anlamına gelmez.
greyfade

9

Bu teknik değil, politik veya yönetimsel bir konudur.

"İş işlevinizle ilgili olmayan bir yazılım yüklemenizi istemiyoruz" kuralını oluşturmayı ve iletmeyi düşünün, böylece patron buna göre izleyebilir.

Buna yardımcı olmak için, sistem yöneticisi her makineden kurulu programların bir listesini isteyebilir. Bunu düzenli olarak yaparsanız, nelerin yüklendiğini göstermek için küçük bir program yazabilirsiniz, böylece hızlı bir genel bakış elde edebilirsiniz.

Bununla birlikte, söz konusu programlar yasadışı veya ahlaki olarak kabul edilemez değilse, bu neden ilk etapta bir sorundur?


13
+1: Programcılarınızın yerel yönetici haklarıyla çalışmasına güvenemiyorsanız, programcılarınıza güvenemezsiniz, nokta.
Kramii

@Kramii - İşte, buna başka bir dönem daha ekliyorum .
Anto

6

Bağımsız olarak gelişmelerini beklediğiniz şeylere bağlıdır.

IIS yapılandırması, uzaktan hata ayıklama, GAC erişimini değiştirme, kendi MSI'nızı çalıştırma yeteneği kesinlikle etkilenecektir. Bunlar, dış kaynaklı kaynakların bağımsız olarak yapmasını beklediğiniz şeylerse, çok fazla test yapmadan denemem.

Eğer dış kaynak kullanıcılarınız bir masaüstü uygulaması üzerinde çalışıyorlarsa, yerel olarak hata ayıklayabilirler, birkaç sorunla muhtemelen bundan kurtulabilirsiniz.

Kaynak kontrolü kullandıkları varsayılarak, makinelerin periyodik olarak yeniden görüntüsünü her zaman programlayabilirsiniz.

Çalıştığım çoğu yer ilk vakanın birçoğunu yapıyor ve yüksek bağımsızlık bekliyor, bu nedenle tüm geliştiriciler yerel yöneticiler ve şirket politikası, herhangi bir makineye onaylanmamış yazılım yüklerseniz ve sorunlara neden olursa disiplin önlemlerine izin veriyor.


6

Geliştirme MacBook'umda 80 numaralı bağlantı noktasında Apache'yi çalıştırmak için yönetici haklarına ihtiyacım var. Bunun dışında, yönetici hakları olmayan kilitli bir makinede olmamam için hiçbir neden yok. Gerçekten ihtiyacım olursa standart dışı bir bağlantı noktası kullanabilirim. Kurumsal kaynaklar açısından, geliştiricilerin makinelerinin ayrıcalıklı kullanıcıları olmamaları mantıklıdır.

Bununla birlikte, bir geliştiriciyi makinelerinde kilitlemenin duyarlı ve istekli bir yönetici ekibiyle birlikte gelmesi gerekir. Eğer kendim bir şey kuramazsam, doğramak için bunu yapabilen birine ihtiyacım var. İşletme bunu taahhüt etmek istemiyorsa, geliştiricilere kutularını tam olarak çalıştırmaları gerekir.

İkincisini tercih ederim, ama eskisinin bilgeliğini görebiliyorum.


4

VS 2010'u çoğu zaman yönetici olarak çalıştırmıyorum. Ancak bir hizmet eklemek veya kaldırmak, IIS'yi yapılandırmak veya kayıt defterinde tamircilik yapmak istiyorsanız, yönetici haklarına ihtiyacınız olacaktır. Ayrıca bazı profilleme araçları VS'yi yönetici olarak yeniden başlatmanızı önerir. Bu yüzden, denizaşırı insanlarınıza yönetici yetkileri olmayan hesaplar vermenin, işlerinin bazı (belki de küçük) kısımlarını yapmalarını engelleyeceğini düşünüyorum.

Dahası, UAC'nin yükselişiyle birlikte, giderek daha fazla uygulama yönetici gücü olmadan yüklenebilir. HKLM'de bir şey koymazlar, System32 altında hiçbir şeye dokunmazlar, exe'yi kullanıcıların \ kim klasörü altında bir yere koyarlar ve bu onları kaldırmayı çok daha kolay hale getirir, ancak yükledikleri orijinal noktanıza hitap etmeyebilir " saçma yazılımlar "diyorum ki bu oyunlar, müzik çalarlar vb.

Yerel yüklemeleri gerçekten önlemek istiyorsanız, belki de en iyi seçenek, Java ağının ilk günlerinden itibaren eski "ağ bilgisayardır" vizyonudur. Herkes bir sürüm kontrol sisteminden çalışır ve eve gitmeden önce her gece check-in yapmalı veya rafa koymalıdır. E-posta, geliştirici makinesinde değil bulutta yaşıyor. Vb Sonra ne zaman istersen dev makinelerini yeniden görüntüleyebilirsin (sanal olsalar bile daha kolay) ve ekstra yüklü bir şeyleri olmayanlar bile fark etmez. Hafta sonu ofis buzdolabını temizlemek gibi.

Ancak uyarılmalıdır - bu ortamda çalışmazdım. Yardımcı programlar ve yardımcılar yüklüyorum ve arada sırada oyun oynuyorum ve ikisini de engellemeye çalışan birine nazik davranmayacağım. Cehennem kadar üretkenim. Geliştiricilerinizden bazıları verimli değilse, yerel yüklemelerini kaldırmak onları daha verimli veya özel hale getirmez. Kökündeki sorunu ele aldığınızda yöneticiler olduklarını düşünmezsiniz.


3

Geliştiricilerin yönetici haklarını kaldırmanın, ekip için yazılım yüklemek üzere sistem yöneticilerinden birini atama ile bir araya gelmesi gerektiğini düşünüyorum. Her ikinizin de yönetici hakları yoksa ve yöneticiden sizin için bir şey yüklemesini isteyemiyorsanız, karşılaştığınız zorlukların önünde elinizin altındasınız. Sanki offsore ekibinizi hapiste kilitliyorsunuz.


1

Ne için yazılım yazdığınıza bağlıdır.

Yazılımınızın sisteminize girmesi gerekmiyorsa, yönetici yetkilerine gerek yoktur.


Daha iyi bir çözüm: Kurulum / test amacıyla VM'leri veya test laboratuarı bilgisayarlarını kullanmak isteyebilirsiniz.


0

Buna iki yaklaşım gördüm. Biri herkesin dizüstü bilgisayarlardan çalışmasını sağlamaktı, ki bu da eve gittiklerinde yöneticilere başvurmak zorundaydı. Yönetici sahip olduktan sonra, makineyi yeniden görüntüleyecek bir CD'ye yapışırlardı. Yeniden görüntülendikten sonra, bir rafa ihtiyaç duydu, bir rafa ihtiyacı olan bir sonraki kişi için mevcut olacaktı. Sadece tüm makinelerin aynı olduğundan emin olun, bu yüzden "iyi" bir makine arayan insanların hepsini püskürten insanlarla uğraşmayın.

Gördüğüm diğer bir şey de herkesin bir Citrix sunucusundan önyükleme yapması. Makinelerin hiçbir yerel depolama alanı yoktur, sadece ağdan standart bir görüntü yükler ve bundan çalışırlar. Farklı yapılandırmalar gerektiren farklı "kullanıcı türleri" kullanıcılarınız varsa bu daha iyi çalışır (ör. UI geliştiricilerinin Silverlight ile bir resmi varsa, WCF geliştiricilerinin IIS ve SQL Server vb. Varsa)

ANCAK, söylenenlerin hepsiyle birlikte, sanırım Thorbjorn [sic] kafasına çiviyi vurdu: Bu bir yönetim sorunu ve muhtemelen teknik bir çözümle yeterince ele alınmayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.