我想知道根目录 / 应该由“root”拥有是否正常。
每次我想在那里做某事(例如保存文件、创建目录)时,都会被要求输入密码,我不记得以前发生过这种情况(虽然这可能只是我的记忆错误)。以下是相关的终端输出:
MacBook:~ ago$ ls -lah /
total 37311
drwxr-xr-x@ 35 root staff 1,2K 22 Mar 12:34 .
drwxr-xr-x@ 35 root staff 1,2K 22 Mar 12:34 ..
-rw-rw-r--@ 1 root admin 21K 22 Mar 10:21 .DS_Store
drwx------ 3 root admin 102B 28 Feb 2008 .Spotlight-V100
d-wx-wx-wt 2 root admin 68B 31 Ago 2009 .Trashes
-rw-r--r--@ 1 ago 501 45K 23 Gen 2008 .VolumeIcon.icns
srwxrwxrwx 1 root staff 0B 22 Mar 12:34 .dbfseventsd
---------- 1 root admin 0B 23 Giu 2009 .file
drwx------ 27 root admin 918B 22 Mar 10:55 .fseventsd
-rw-r--r--@ 1 ago admin 59B 30 Ott 2007 .hidden
-rw------- 1 root wheel 320K 30 Nov 11:42 .hotfiles.btree
drwxr-xr-x@ 2 root wheel 68B 18 Mag 2009 .vol
drwxrwxr-x+ 276 root admin 9,2K 19 Mar 18:28 Applications
drwxrwxr-x@ 21 root admin 714B 14 Nov 12:01 Developer
drwxrwxr-t+ 74 root admin 2,5K 18 Dic 22:14 Library
drwxr-xr-x@ 2 root wheel 68B 23 Giu 2009 Network
drwxr-xr-x 4 root wheel 136B 13 Nov 17:49 System
drwxr-xr-x 6 root admin 204B 31 Ago 2009 Users
drwxrwxrwt@ 4 root admin 136B 22 Mar 12:35 Volumes
drwxr-xr-x@ 39 root wheel 1,3K 13 Nov 17:44 bin
drwxrwxr-t@ 2 root admin 68B 23 Giu 2009 cores
dr-xr-xr-x 3 root wheel 5,1K 17 Mar 11:29 dev
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 etc -> private/etc
dr-xr-xr-x 2 root wheel 1B 17 Mar 11:30 home
drwxrwxrwt@ 3 root wheel 102B 31 Ago 2009 lost+found
-rw-r--r--@ 1 root wheel 18M 3 Nov 19:40 mach_kernel
dr-xr-xr-x 2 root wheel 1B 17 Mar 11:30 net
drwxr-xr-x@ 3 root admin 102B 24 Nov 2007 opt
drwxr-xr-x@ 6 root wheel 204B 31 Ago 2009 private
drwxr-xr-x@ 64 root wheel 2,1K 13 Nov 17:44 sbin
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 tmp -> private/tmp
drwxr-xr-x@ 17 root wheel 578B 12 Set 2009 usr
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 var -> private/var
这些所有权/权限可以吗?我应该 chmod/chown 某些内容吗?
答案1
我刚刚检查了几台相对干净的 OS X 10.6 Mac,虽然 / 归 root 所有,但其组和权限与您的不同:它被分配给管理员组,并具有组写入和粘性位设置,并且没有扩展属性(即drwxrwxr-t 29 root admin
)。磁盘实用程序的权限修复功能似乎无法重置它(我刚试过),但您可以手动修复它:
sudo chgrp admin /
sudo chmod 1775 /
xattr -l /
最后一个命令将显示附加到根的扩展属性;根据它们的内容,您可能想要删除它们(使用sudo xattr -d attrname /
)。
答案2
不,就这样吧!
root
是您系统的管理员用户。只有极少数情况下您才需要以该用户身份执行某些操作。
事实上,如果您更改权限,您就会破坏某些东西,或者使您的系统变得脆弱。
您可以在以下位置阅读有关 root/超级用户的更多信息维基百科。
更新:
每当您必须进行身份验证时,都是因为您切换到“超级用户模式”。作为管理员用户,您会自动加入该组行政. 该群体享有的权利与root
# /etc/sudoers
%admin ALL=(ALL) ALL
(这意味着您可以从每个主机运行每个命令)
因此,尽管您没有以 的身份登录root
,但在再次进行身份验证后(例如,如果您输入 ,sudo <command>
您将获得与 几乎相同的权限root
。我不确定您对类 UNIX 操作系统的熟悉程度如何,但如果您尝试通过 Finder 对此类路径应用更改,则基本上就是执行sudo
。阅读更多关于sudo
。
答案3
在大多数 Unix 系统(包括 Mac OS X)中,非 root 用户通常无法写入根目录。
使用主文件夹存放文件或/Users/Shared
多个用户需要访问的文件。通常可以使用 ⇧⌘H (Shift-Command-H) 跳转到主目录发现者以及大多数打开/保存对话框中。同样,您可以使用 ⇧⌘G (Shift-Command-G),然后键入以转到共享文件夹(或转到您的主文件夹,然后使用 ⌘↑ (Command-Up)/Users/Shared
转到,键入以选择文件夹,然后使用 ⌘↓ (Command-Down) 打开它)。/Users
Shared