題:
將root用戶用作普通用戶是否可以?
智障的人
2015-06-20 07:36:51 UTC
view on stackexchange narkive permalink

我已經在Mac上啟用了root用戶,因此我可以登錄並運行Finder等。作為我的懶人,只需將所有內容從我的主目錄轉移到 / var / root 。我不太確定要這樣做,所以我可能會將所有內容移回去。從技術上來說,像普通用戶一樣使用它可以嗎? (我是唯一可以訪問我的計算機的人。)

無根的“ el Capitan”指日可待。
(訪問我的計算機)的具體含義。您可能已連接到Internet。您沒有指定您可以訪問計算機的軟件。“ OK”在您看來如何?獲得一些很棒的一般答案的榮譽。最好提出更詳細的問題(如果存在)作為後續問題。
您可以使用root帳戶作為普通用戶,前提是您知道以下問題的答案:“將root用戶用作普通用戶可以嗎?”。一旦知道答案,您就不會知道。;-)
您可能需要添加root,admin和普通用戶之間的區別。我相信admin是默認設置。
“我是唯一可以訪問我的計算機的人” <-大聲笑
@CousinCocaineas我知道El Capitan仍將擁有一個“ root”帳戶,這僅意味著對應用程序的身份驗證將以不同的方式工作...但是[請確定確定](http://apple.stackexchange.com/questions/193368/El Capitan的無根特徵到底是什麼?
十 答案:
David Richerby
2015-06-20 16:20:36 UTC
view on stackexchange narkive permalink

使用您的計算機始終以root用戶身份登錄,就像始終隨身攜帶所有密鑰,護照,5,000美元現金,寫有所有密碼的那張紙以及唯一的Flopsy照片一樣,可愛的兔子,他的死讓你七歲的心傷了。哦,還有鏈鋸。

這是不時的,它非常方便,因為這意味著您可以隨時隨地進行所需的任何操作,而無需回家拿東西或與您的銀行經理交談。但這也使您極有可能丟失東西,被盜(不要以為電鋸會幫到您:在您注意到錢包消失之前您會流連忘返),然後做一些讓您後悔的事情(衝動購買)醉酒時去往拉斯維加斯的飛機票),採取危險的捷徑(通過獅子圍欄鋸鏈,因為這是通往大熊貓的最快方法)和反應過度(鋸鄰居的車,因為他的狗吠太多)。而且,大多數情況下,您想到的就是去辦公室,去雜貨店購物,和朋友一起出去逛逛。您不需要一個月就一直帶所有這些東西,只是為了一個月一次?每週一次?

因此,不行,始終使用root帳戶是不正確的。它給您帶來了極小的便利,但卻給您帶來了極大的危險。愚蠢的錯誤有導致災難性結果的危險(“嘿,為什麼 rm -rf * 需要這麼長時間才能運行?****我在 / 中!” )。有使自己適應所有文件都相等的想法的危險,並且您可以隨意隨意地在目錄樹中的任何位置進行操作。存在對您帳戶的任何黑客攻擊都立即對整個系統進行黑客攻擊的危險,因此,現在您計算機上的每個軟件都對安全性至關重要。而且即使您認為也不在乎您的計算機是否遭到黑客入侵(畢竟,那張Flopsy的照片是一張真正的光面紙,而不是一些臨時性的JPEG), I 關心您的計算機是否遭到黑客攻擊,因為它是在殭屍網絡上發起了DDOS攻擊,以應對我今天無法訪問的任何互聯網服務。

根是您的蜘蛛俠服裝。它賦予您強大的力量,但需要承擔巨大的責任。無論何時需要,它都在壁櫥裡,因此您不必一直都在穿它。

我希望我有足夠的代表投票,第一段使我感到震驚。
這不僅是一個有趣且寫得很好的作品,它還真實地響了起來,理應得到公認的答案
我繼續回到這個問題。這是真正的建議,可以使您最大程度地幽默,但仍然要嚴肅認真。
也在超級用戶和Linux.se上發布,這是真的,而且寫得很好
有趣的是,在Windows中,您基本上總是root。
-1
軟盤的死亡和電鋸有關係嗎?
我加入只是為了投票贊成殭屍網絡部分。
“根是您的蜘蛛俠服裝”。我在這裡死
@DavidRicherby UAC不是安全邊界。如果您以管理員身份登錄,請假設您一直是root用戶。
除非您知道在Windows安裝上創建的第一個用戶是Adminstrators組的成員,並且必須創建具有有限權限的第二個用戶才能不以admin身份登錄,否則@9000是完全正確的。
有人需要將其製作成視頻。
直到我將《輻射》設為根。
@YetAnotherUser如果我沒有以admin身份登錄,則我不是“基本上總是root”。
@YetAnotherUser和Brian,否,9000對於XP之後的任何系統都不正確(甚至對於正確安裝的XP,2000或NT系統也不正確)。UAC ** IS **是安全邊界。您正在以**沒有**的管理權限運行,直到您在UAC下提升。它們實際上是單獨的安全令牌。即使您使用的是“管理”帳戶,也是如此。對於非管理員帳戶,您需要輸入管理員帳戶的憑據才能提升權限。
@GeminiDomino: sudo絕對認為這是您的蜘蛛俠服裝:[查看源代碼](http://www.sudo.ws/repos/sudo/file/34fa7256f1e2/plugins/sudoers/check.c)。它在** display_lecture **函數中闡明。
儘管這很有趣,但是只有使用root的人不知道自己在做什麼時,這才真正適用。只要您知道自己在做什麼,而且不會對系統造成致命的打擊,我真的不會一直使用root出現任何問題。
-1
我只能寫EPIC;)
換句話說,@GDP2一直以root身份運行與駕駛F1賽車非常相似。當然,有些人可以安全地進行此操作,但是這需要更多的紀律,培訓和專注。即便如此,仍然有令人震驚的崩潰。
StackExchange在推特上發布了有關此答案的推文(https://twitter.com/StackExchange/status/613418426372083716)。
@Qix認為我合理地想知道的一個問題很好地回答了這個問題,並且這個答案吸引了這麼多人,這真是很有趣。
@GDP2甚至不一定*您的*錯誤。大多數shell腳本的編寫方式實際上並不難在其中插入`rm -rf /`。一個相對著名的例子是Steam。至少在Windows上,刪除整個C驅動器通常不起作用(即使在UAC之前,甚至在使用管理員帳戶時)-通常在刪除任何內容之前(嘗試刪除無法刪除的內容時),它可能會中斷。)。另一方面,“ rm”會愉快地刪除系統文件,正在使用的文件等。這樣的錯誤很容易被引入-特別是如果您使用的是自動更新。
聰明的攻擊者可能會在損害用戶帳戶後,將sudo的別名放入您的.bashrc或其他內容中,然後很快他們就會成為root用戶。我曾經運行過一個文件共享程序,該程序可能有問題,但與Internet上的隨機陌生人連接。我以另一個用戶(“ unpriv-peter”)的身份運行該帳戶,該用戶與我的帳戶屬於同一Unix組,但是具有不同的UID。損害該帳戶後的私有升級將更加困難,例如通過X11鍵盤模擬進行的攻擊(除非我在Xvnc會話中運行它)。
我哭了笑的眼淚,但我的肚子仍然因LOL感到非常疼痛。:-)最好的答案...
類比往往會中斷,而是用簡單的英語表達您的觀點。
對我來說,這個答案的有趣之處在於,這意味著從1979年到2000年代中期,幾乎每次使用家用計算機都是“不正常的”,因為在MSDOS中,經典的Mac OS,amiga,commodore,Windows 95等您總是相當於root。
William T Froggard
2015-06-20 08:20:01 UTC
view on stackexchange narkive permalink

可以,但這是主要的安全性和穩定性風險。這樣做允許任何應用程序完全訪問您的計算機。您不知道他們使用該訪問權限在做什麼。沒必要,而且真的很不安全。

有關此的更多背景信息,請參見

我刪除了這些評論,因為它們實際上並沒有添加到答案中,您可以繼續聊天中的討論嗎?
感謝您的修改。希望這可以解決有關我的帖子的一些困惑。
David Mulder
2015-06-21 23:50:16 UTC
view on stackexchange narkive permalink

老實說,我同意將 root 用戶用作默認用戶會帶來很多風險。但是,讓我看看它們,並批評一些論點

  • 捍衛應用程序:實際上,* nix的許可系統不是 足夠強大(到目前為止)以允許運行任意程序。 * nix上的惡意程序可以在沒有root用戶權限的情況下做足夠多的惡作劇(例如竊取您的銀行憑證)。對於非 root 應用程序,要比 root 應用程序難一些(例如,與其直接安裝根證書並攔截與銀行的連接,您將需要它)來代替瀏覽器,但是,嘿,這實際上是可行的,您可能無論如何都要這樣做,以確保用戶不會注意到任何東西。
  • 捍衛用戶錯誤 strong>(例如運行錯誤的命令並刪除所有系統文件)絕對正確,但是即使非 root 用戶將保存系統,所有重要文件也會通常已經丟失(因為用戶擁有的文件更有可能是唯一的)。
  • 防禦您運行的應用程序中的可利用錯誤:現在更像這樣了。例如。當您在Web服務器上運行許多外部應用程序時,很容易發現任何可利用的bug。即使您坐在路由器和防火牆後面,當然危險仍然沒有那麼大。然而,問題再次變成許可系統將在私有系統上實際防禦多少。沒有 root 權限,仍然可以訪問所有私有文件,並且還可以截取網絡數據...作為私有系統的攻擊者,您希望做的兩件最重要的事情。
    • (現在,在標準的* nix文件權限系統之上,Apple還引入了一個應用程序沙箱系統。據我所知,即使以root用戶身份登錄,該功能仍然可以正常運行。無論哪種方式,所有人都認為我認為這並不像其他人所認為的那樣可怕。

提醒您,我也不是說這是個好主意,但我認為人們高估了* nix文件系統權限模型在保護您方面的有用性。是的,它對某些事物(例如多用戶系統,複雜的多應用程序服務器,無論發生什麼情況都保持系統運行(正在運行,但沒有必要使用),鎖定重要文件(儘管最好對這些文件進行加密),都非常有用。 ...)等),但這並不是防止壞事發生的不可思議的保護措施。

在評論中,我想出了一個比喻,似乎足以描述這種情況。在荷蘭語中,我們有一個小壁櫥的詞,您可以在其中找到所有的水錶和主要供水系統的撥動開關,等等。把鎖從那個小壁櫥裡拿出來。具有諷刺意味的事實是:大多數人一開始並沒有對其進行鎖定。現在,就像 root 用戶一樣,這並不是說在某些情況下將其鎖定是沒有用的,例如在辦公室或其他半公共建築中,它經常被鎖定,但在普通房屋中重要的是要牢牢地鎖在前門上(不要安裝隨機物品,防火牆等),並將所有重要物品放在保險箱中(進行備份,加密物品等)。壁櫥上的額外鎖會傷害嗎?不,因此,以防萬一,將其放置在適當位置可能是個好主意,但很有可能毫無用處。

root 用戶身份運行沒什麼,就像戴維所聲稱的那樣,將所有房門鎖和所有物品都隨身攜帶在保險箱中里希比。您的護照(身份)絕不受* nix文件系統保護,您的資金(銀行帳戶)絕不受* nix文件系統保護,您的重要密碼不受 的保護* nix文件系統(如果您使用的是Safari,但是實際上它們可能會受到* nix文件系統權限模型的部分保護,但是如果沒有 root ,您仍然可以向Safari添加不可見的擴展名,然後攔截下次使用密碼時),則您的照片絕對不受* nix文件系統的保護;如果您使用的是終端機,則您已經隨身攜帶了電鋸(按上述第2點)。

如果您對答案不滿意,請指出*什麼*在我的分析中是不正確的。我完全知道我的答案有點不合常規,但我希望ICT能夠不斷進步,以便根據其內容而不是它們是否適合傳統教條來判斷答案。
我同意這一分析。使用root帳戶的另一危害是安全漏洞/惡意軟件之後的清理變得更加困難。與以普通用戶權限運行的惡意軟件相比,它也更難檢測。但是,由於實際的惡意軟件數量很少,因此很難說出差異在實踐中如何發揮作用。
@jpa的確,惡意程序具有“ root”特權時可以更好地隱藏,但這不像是手動進行清理。人們要么使用防病毒軟件(已經假定所有惡意程序都具有“ root”特權,因為誘使用戶提供這些權限並不那麼困難),要么通常在感染後重新安裝系統。但是無論哪種方式,我都明白你的意思。
這值得更多的投票。我真正關心的*唯一*事情是我(非root)用戶擁有的文件。它們代表了我的照片,我的音樂和我女兒的視頻..其餘的可以輕鬆地重新安裝!
@Froggard是的,有**許多**技術可以防止在本地破壞本地文件。這就是答案的重點。僅僅因為* nix文件許可系統不能限制(真實)危險動作,並不意味著其他技術也不能。Apple沙箱就是一個簡單的例子,儘管類似ChromeOS應用程序系統的東西在這方面要走得多。例如。在其中,應用程序將無法訪問文件,直到用戶“打開”(使用對話框)文件或目錄。因此,惡意應用程序通常根本無法執行任何操作。
這種邏輯基本上與說相同,因為遠程車庫門開啟器的調味料很弱,如果沒有人關上車庫門,那真的不是什麼大問題。前提是正確的,但建議是虛假的。有效的安全性由許多相互配合的小部分組成。就像附近的每個人都在那里關閉車庫一樣。它使每個人都更安全。
@Caleb:不,這根本不是一回事,因為在典型的私有系統上,根用戶沒有保護任何有價值的東西。這就像把巨大的鎖鎖在櫃子上,上面裝有所有的電錶以及諸如水和電之類的家用控件以及電話線的插入位置(不知道英文名稱)。在那兒放個鎖可能會阻止某些事情的發生,但是任何竊賊仍然可以做您不希望他做的所有事情。(續)
與root用戶相同,在商業半公共建築中將這些東西鎖起來至關重要,而在私人住宅中,將好的保險箱和前門鎖起來則更為重要。
任何典型用戶的系統最後一次私有訪問都是在AOL撥號出現之前。該用戶在此站點上提出此問題的事實意味著他們已經公開露面...而且如果以root用戶身份登錄,則他們攜帶著大量的無抵押貴重物品。
@Caleb在附近擁有房屋和邀請任何人進入都有很大的區別。當有人進入您的房屋時,幾乎沒有人可以阻止他使用標準* nix系統。這就是我在此答案中描述的內容:一旦有人確實闖入您的系統,* nix文件系統權限就不會得到幫助,因為它們不能保護您認為對私有系統重要的內容。唯一的是(續)
保護是系統,但用戶關心的是系統上的內容,而不是系統本身。並不是說保護系統不是一個好主意,但是其他事情則要重要得多,而且如果您不保護這些內容,那麼保護系統的利益將是可疑的。這就像在口袋裡公開攜帶成千上萬美元,而您隨身攜帶的卻是價值100美元的智能手機。
因此,整個論點可以歸結為“您的系統對民族國家資助的攻擊沒有有效的安全保護,因此,請繼續進行下去,把所有這些都扔進垃圾桶。”用作備份的隱喻是不准確的-我無法使用您家的機械室來攻擊全世界的人們;我所能做的就是關掉水,付清電話費,燒毀房屋。所有這些只會影響您,因此您可以決定接受這種風險。但是,您更容易受到威脅的計算機可以攻擊世界上的其他所有人。那會影響你的朋友。
無論如何,我通常使用的主要論據是,頻繁使用root會導致粗心大意,因為您不再密切關注自己在做什麼-不管您鍵入什麼,它都會起作用!如果您在一個從來沒有被事物傷害過的世界上生活了足夠長的時間,那麼您會開始忘記自己並非無敵。那就是當事情出錯時。:)
@dannysauer可以訪問私有系統上的`root`用戶,因此不會幫助您破壞其他系統。
當然,沒有root不會阻止它。但這是一個微妙的不同。有點像我所說的“攻擊”,而不是“妥協”。您可以使用root在網絡上做更多的事情。如果您的殭屍計算機正在參與簡單的ICMP泛洪,舉一個簡單的例子,您需要原始套接字訪問權限以生成該ICMP流量(這就是ping是suid root的原因)。其他一些有用的惡意數據包修改也是如此。
@dannysauer啊,是的。是的,我同意DDoS從根本上講會更加有效,但是對於所有實際目的而言,它並沒有多大區別。一旦成為殭屍網絡的一部分,您將有更大的事情要擔心(私有文檔受到破壞,您的身份(密碼等)可能(受到)破壞等)。老實說,我並不是說* nix文件系統許可模型是壞的或無用的,只是在傳統主義ICT圈中,私有系統被高估了。
實際上,在Mac上竊取銀行帳戶憑據確實需要提升權限。如果您不是root用戶,則不能:1)安裝新證書,2)與Safari混淆(普通用戶不可寫),3)在用戶目錄中安裝被篡改的Safari並更改Dock鏈接(代碼簽名將捕獲該簽名),或4)禁用代碼簽名檢查(您需要管理員權限才能更改該設置)。您將需要某種形式的利用,並且如果您能夠做到這一點,那麼您無論如何都可以。
@marinus至少3或4年前,我能夠將擴展名“注入”到safari中而無需root,也不需要做任何真正的怪異的事情(我使用某種宏工具完成了此工作)。從那時起,內容可能已經發生了變化,但是由於我不再擁有Mac,因此無法檢查(並且我以兩種方式都忘記了90%的Mac專有知識)。
Mike Ciaraldi
2015-06-26 22:32:03 UTC
view on stackexchange narkive permalink

大約在1990年,我與一個名叫湯姆的傢伙一起從事一個項目。我們使用的是運行SunOS(Unix衍生版本,Solaris的前身)的SUN服務器。這是在CD驅動器和閃存驅動器問世之前的日子,因此,如果您弄亂了硬盤驅動器上的操作系統,將無法恢復。

Tom以前通常以root用戶身份登錄。我告訴他這是個壞主意,但他不聽。有一天,我聽到他說“呃”。他本來打算鍵入類似這樣的內容:

  mv something *。 

不幸的是,他省略了最後一個點,因此shell擴展了所有文件並與此模式匹配的目錄名稱。然後,mv命令將最終使用的名稱作為列表中的最終名稱用作目標目錄,並將其他所有內容移至其中。同樣不幸的是,他目前在根目錄下,因此基本上整個文件系統都移入了其子目錄之一。

我使用向上箭頭返回上一個命令,然後看到發生了什麼。然後我說的第一件事是:“請不要註銷!否則您將永遠無法再次登錄。 “

沒問題,對吧?我們可以將所有內容移回原處。我們可以,除了mv命令不是shell的內置命令之一。相反,它是一個可執行程序,存儲在已移動的文件之一中。幸運的是,ls是內置命令,因此在使用ls確認命令移至何處後,我能夠找到mv命令,使用其完整路徑名調用它,然後將其放回原本應該的位置。

然後我告訴他,“湯姆,這就是為什麼通常以root用戶身份登錄是個壞主意的原因。”

David Anderson
2015-06-20 09:36:27 UTC
view on stackexchange narkive permalink

通常,您要將個人文件的所有權與root用戶分開。這就是為什麼您以管理員身份創建帳戶的原因。在OS X下,獲得根級別訪問權限的公認方法是使用終端應用程序中的 sudo 命令。例如,如果要查看內部驅動器的分區,則命令為

  gpt -r show / dev / disk0  

,如果輸入該命令,導致出現以下錯誤消息。

  gpt show:無法打開設備'/ dev / disk0':權限被拒絕 

要使用該命令,需要使用如下所示的 sudo

  sudo gpt -r show / dev / disk0  

如果要成為root用戶可以避免輸入 sudo ,只需輸入 sudo sh exit 命令可用於退出以root用戶身份。

如果要以root用戶身份執行應用程序,則可以使用Terminal應用程序。例如,如果要以root用戶身份啟動Finder,請輸入以下命令。

  sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder & 代碼> 

為避免混淆同時打開兩個Finder應用程序,通常最好先退出Finder應用程序。可以使用以下終端命令完成此操作。

  osascript -e'告訴應用程序“ Finder”退出”  

一個警告:在a之前帶有 sudo 的命令與成為root用戶不同。例如,命令

  sudo echo $ USERsudo echo $ SUDO_USER  

得到的輸出與下面顯示的命令相同。

  echo $ USERecho $ SUDO_USER  

如果您成為root用戶(超級用戶),則相同的命令將產生不同的輸出。可以通過輸入下面顯示的命令來驗證。

  sudo shecho $ USERecho $ SUDO_USER
sudo echo $ USERsudo echo $ SUDO_USERexit  
sudo
2015-06-22 00:30:05 UTC
view on stackexchange narkive permalink

萬一其他原因還不夠完善...請不要忘記您不能將Homebrew用作root(這實際上是一個巨大的痛苦)。其他程序也不允許您將其用作超級用戶或在運行時遇到權限問題,通常是沒有明顯原因的,因為他們的程序員認為它們不會作為超級用戶運行。我認為Steam就是其中的一個。問題。我個人比其他方面更擔心組織和權限問題。

bodangly
2015-06-23 04:39:18 UTC
view on stackexchange narkive permalink

僅舉幾個例子,為什麼始終不能以 root 身份運行:

  • root用戶可以輕鬆地將文件放置在更難追踪的位置
  • root用戶對接口具有原始訪問權限,因此可以將接口置於混雜或監視模式,並記錄所有網絡流量。
  • root用戶具有對設備節點的原始訪問權限,可能會崩潰與用戶級別的簡單“ rm”相比,磁盤恢復文件要困難得多。 root用戶還可以潛在地修改驅動器的引導扇區,即使重新安裝操作系統後也可以使惡意軟件持久化。

我可以繼續。關鍵是有充分的理由不以超級用戶身份運行。我不同意對大多數人而言,無論如何,他們最個人的數據都位於其主目錄中,但是以root用戶身份運行仍然會給該數據和整個系統帶來更大的風險。不以root用戶身份運行的建議不會錯位。如果一個人不了解以root身份運行的含義,那麼他們絕對不應該這樣做。提出其他建議是不負責任的。

SamWN
2015-06-25 18:04:57 UTC
view on stackexchange narkive permalink

除非您要使用回溯/ kali來完成特定任務:否。請像對待裝載的槍一樣對待超級用戶:如果您有立即的需求和使用意圖:確定。但是,如果您可以通過其他任何方式解決問題(例如“ sudo”),請執行此操作。

tucker twomey CodeZypher
2015-06-23 23:09:19 UTC
view on stackexchange narkive permalink

否!這將使您的系統在很短的時間內被破壞。而是根據需要將 su sudo 放入根目錄。如果絕對肯定地,您必須以 root 身份運行,至少在不使用計算機時隨時註銷。如果您的系統能夠運行多用戶,但未配置任何用戶,則建議您創建一個特權用戶(即:可以根據需要將 sudo / su 放入根用戶的特權用戶。 )盡快!

Fattie
2019-10-24 20:25:38 UTC
view on stackexchange narkive permalink

只需使用SUDO

我的猜測是,OP不知道在需要使用root的情況下使用 sudo 有多麼容易。

OP,您的所有問題都結束了。立即將Mac恢復到正常狀態。

然後根據需要使用sudo。 Phew。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...