Windows為什麼沒有程序許可權限制的功能?將來是否可能出現?

比如程序對其他內存文件的訪問許可權。程序能否聯網之類的。為什麼只有需求全部管理員許可權,而不能對(單個程序和其執行的程序)進行許可權的管理?是因為可能訪問選項的太多麼?

26 13:13分添加。

考慮到老是被認為是忽略uwp應用,所以將限制程序的氛圍劃在win32上。


Windows許可權管理超級複雜,並不是單單在UI上列幾個什麼文件啊、視頻啊、網路啊、通訊錄這些東西就能搞定的。建議題主去考個MSIT的認證,然後就什麼都明白了。


請用Win8+之後,再來重新審閱這個問題


所以說你想要一個sewindows,或者說selinux for windows?

applocker可以做到控制程序的運行

icf/搞基安全windows防火牆可以細粒度得控制程序訪問網路

applocker+runas+acl可以控制程序訪問文件系統,可以做到selinux的級別,雖然配置比較麻煩,但是selinux/apparmor的配置不比這個簡單

嫌麻煩你還可以用defender啊雖然不好

要求再高你還可以用sandboxie

再高你還可以用hyper-v啊


當然有了……右鍵隨便選擇一個文件,點到安全選項卡,就可以看到訪問控制的選項,可以設置非常多的規則,要比Linux這樣的每個文件只有Owner、同組、其他三種許可權控制複雜得多。比如可以限制某個程序無法由普通用戶執行,甚至無法訪問、寫入或刪除等等。

UAC是個額外的功能,因為Windows的用戶對使用管理員賬號作為日常使用賬號有特別大的熱情,Windows上的應用程序也經常不按規範去訪問一些普通用戶沒有的許可權,早期Windows也有一些許可權設置的不合理(比如說普通用戶對註冊表的訪問會有一些奇怪的限制),所以在管理員許可權以上又劃分了一個特權級別。要比的話其實類似於Ubuntu的sudo。UAC的設計是非常巧妙的,單就這個設計來說Linux短時間內追不上,當然Linux用戶會覺得用root許可權運行不可信的程序是自己腦子燒壞的表現,不能怪操作系統。

設備訪問上,普通用戶程序壓根就訪問不了大部分的設備,因為Windows SDK里沒有相應的API,只有驅動程序通過Windows DDK運行在內核態才能訪問,用戶態天生就是最好的保護了,這點Linux和Windows類似。尤其是內存,訪問其他應用程序的內存是Windows的一個功能,而且是特權API,怎麼叫沒有許可權控制呢?

不要以為學了兩天Linux就覺得Linux高大上Windows各種沒有,其實Windows不知道比Linux高到哪去了。


遇上真不懂的我也很無奈的說。

windows許可權控制是當前所有計算機系統中控制相對非常詳細的。

AD,組策略,域控,許可權分配,enduser許可權限定等技能等待你解鎖。

XP professional的許可權控制也是做的不錯的。

誰讓你們用administrator當登錄用戶呢~

誰讓你們用administrator當登錄用戶呢~

誰讓你們用administrator當登錄用戶呢~

算了不嘲諷了。

程序是否能對file有訪問許可權,這個和程序不是綁定的,但是和用戶是綁定的。你可以給用一個低許可權user啟動exe,但是不給這個user某個folder path的訪問許可權,或者只讓讀不讓寫,就實現了第一個功能。如果想要訪問特定path,可以使用高許可權用戶實現。

第二個問題,可以使用自帶防火牆和網路中心實現。win10的網路許可權控制非常強。

第三個問題,我認為在PC的OS上,問來問去挺煩人的。。。需要admin許可權我給你就是了。實在願意被問,360等軟體的提醒全開即可。。能煩死你。確實訪問的選項太多。


我比較同意有一個匿名用戶的回答。

首先題主所說的許可權管理傻子都能看出來是相比於安卓ios,linux這種系統說的,windows並沒有====顯而易見的對於用戶來說較詳細的許可權管理機制====為什麼這麼說稍微懂一點的都很明白,因為這麼多全交給用戶來搞估計是搞不過來的。再有,windows真的沒有這種許可權管理嗎?很明顯不是,有,而且非常非常的詳細,每個文件的安全屬性裡面都可以設置讀寫許可權等等,每個文件。。所以弄出個uac讓你從用戶的角度去給程序必要的許可權。uwp的出現在一定程度上也彌補了這些一般用戶用不來的許可權管理功能。其實我是個軟粉,但是不得不說微軟是典型的大公司病,雖然想極力跟上潮流,但是效果一直不好。比如uwp應用到現在為止都不支持雙顯卡筆記本的切換,uwp的量子破碎在高端顯卡上也只有30多出頭等等,預覽版滿天飛但是穩定高效的版本卻一直難產。.net為什麼要裝這麼多版本?因為這個東西微軟自己也搞不定。。扯遠了。。總之windows的許可權管理遠遠複雜的多得多。。


十多年前就有了。不過是用戶級別的,控制應用許可權需要runas。每個用戶的許可權本地安全策略裡面可以配置。應用級別的沙盒是Windows8才加。桌面的程序安全還是靠IE的安全配置和smart screen控制,對於IE這樣的程序來說,應用級別的授權明顯不夠,需要網站級別的。然後還有活動目錄級別的許可權,不是用戶自己設,是域控制器上設。

內存文件創建的時候作者可以指定一個安全描述符(security descriptor)來規定誰可以訪問。Local Service用戶沒法訪問網路,NetworkService用戶可以。還有Windows自帶的防火牆可以做程序級別的控制,但是微軟不是唯一的防火牆提供商——內建Windows Defender已經有人叫壟斷了。第三方的防火牆未必有應用級的控制。至於什麼聯繫人許可權之類,Windows 7連個郵件客戶端都沒有,第三方郵件客戶端的聯繫人放哪了你都不知道。

問題是Windows上要求管理員許可權的程序太多,打個遊戲都要裝驅動是搞什麼鬼?Vista推了這麼久還有這麼多程序要管理員許可權……應該說程序員們被微軟慣壞了吧。只要用戶還一直容忍這種許可權狂應用程序,許可權設置就是擺好看的。


傳統的桌面操作系統,許可權管理是 per-user 的,而不是 per-application,也就是同一個用戶下運行的程序都可以干這個用戶可以乾的任何事情。更多的討論看: Applications and DLLs don』t have privileges; users do

至於未來可不可能出現按程序管理許可權,當然可能,但是前提是要把程序放在自己的沙盒裡運行。不然它仍然可以調用沙盒外面的程序、讀寫沙盒外面的文件來做它想做的任何事情。這就產生了很多麻煩,不是所有的應用開發者都願意跟進的,還有好多老的應用根本沒人維護了但是還必須得跑。於是像 Windows App Store 和 Mac App Store 這種東西就很難推廣到整個桌面系統上。


越來越多的人拿著十年間新生的安卓和蘋果系統來要求幾十年前就開始迭代的Windows為什麼不能這樣,為什麼沒有那個,自己卻用著老舊的Windows。

我想知道你想要什麼樣的許可權管理。

訪問內存?沒有這個程序根本不能運行,

讀取簡訊,通訊錄?這是電腦。

使用相機,麥克風?你不打開程序,程序不會偷偷給你拍照錄音。

訪問網路有防火牆。

只針對Win32程序的話,許可權管理你根本管不過來,所以交給Windows。


難道樓主還停留在WinXP階段?

這是止步不前的可悲還是無奈?


Linux不等於Windows,所以請不要用Linux的思維去使用Windows,反之亦然。

另外,貌似sudo對應到Windows就是UAC吧?


升級到Windows 10,去自帶應用商店下載應用吧!


有的吧,Vista以及之後新添加了UAC,並且針對程序又弄出了一個UAC虛擬化,也可以理解為runas,比如普通賬戶下安裝程序是提示輸入管理員密碼的行為。

不過像題主說的訪問其他內存文件的限制,貌似是沒有,Win系統還沒有智能到可以監控每個應用程序的內存使用,並且明智的提示用戶說,警告,有個程序正在非法訪問其他程序內存,諸如此類。

系統內存是統一交給Win進行管理的,一個不夠用了,系統會把其他暫時不相關的換到硬碟上,騰出來內存給這個程序,那要是這都要給用戶提個醒,還能不能友好的打遊戲了。當然內存管理比這個複雜點。

不過有時候也會提醒,應用程序非法訪問系統文件內存的時候,就是運行內核的內存,吶,藍屏了。要麼就是遊戲退出,玩個蛋。

題主有興趣,可以讀讀,Windows Internals 第六版。分上下冊。

另外關於系統上的各種許可權怎麼設置的,樓上有大神講過了 蔣晟 的答案。還是蠻全面的。

只不過不那麼友好。配置的話需要個人對這些知識先熟悉才行。

win10現在不是開放式反饋嘛,沒事兒就多在feedback裡面提意見就是了。


私人電腦的登錄賬戶都是管理員許可權,所以什麼許可權限制都被繞過了。

公司電腦是各種域策略,組策略的,是有許可權限制的。


問出這種問題說明你可能連Vista都沒用過


有是有,只不過太複雜了,學校專門開過windows server配置的課,學過就忘了。


你確定沒有嗎????


自行Google UAC。(儘管很多人用xx優化軟體關了它/或者直接不提醒?)

其實 Window 的許可權控制要比大多是 Linux 的許可權控制複雜的多。甚至會有「run as XXX」這種概念。


堅持使用XP的死忠粉


windows10到現在也管不了流氓彈窗,國外殺毒軟體被360懟的休克,我只能祝願周鴻禕成為第二個賈躍亭了


組策略???話說你不是家庭版吧

要不火絨試試


推薦閱讀:

Android 平台有哪些非常優秀的應用?
嵌入式還是安卓應用開發?
ColorOS、 OPPO、CM和OnePlus 之間是什麼關係?
小米為什麼一定要自主研發MIOS,跟MIUI有什麼不同嗎?
如何看待 Google 將 Kotlin 選為 Android 官方語言?

TAG:微軟Microsoft | MicrosoftWindows | 流氓軟體 | Android | Windows10 |