在mac上开发,涉及在系统目录(指操作系统自带的那些目录,比如/、 /usr、 /usr/local/bin 等)创建文件夹或者文件时,会出现由于权限不足导致创建失败的问题。这是由于,这些目录属于 root 用户, 而当前登录mac的一般都是非root用户,而非root用户没有权限修改root用户直接管辖的目录和文件。那么如何让用户拥有这些目录的修改权限呢?

解决办法有两个:

方法一:改成使用root登录,这样就具有对操作系统的最大权限,可以为所欲为。但是,不推荐这么做,因为太危险。

方法二:将你要操作的目录的权限从root手里夺过来,也即修改目录的拥有者。推荐。

如何修改目录的拥有者使用linux命令 chown 。

命令格式:1chown [选项] 所有者[:组] 文件

chown 将指定文件的拥有者改为指定的用户或者用户组,用户可以是用户名或者用户ID,组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用 chown 命令,在将文件拷贝到另一个用户的目录下后,让用户拥有使用该文件的权限。

实例: 把 /usr/local/bin 和 /usr/local/lib 这两个目录以及其子目录的拥有者从root改成当前用户:

1sudo chown -R $(whoami) /usr/local/bin /usr/local/lib

说明:

chown change owner 的缩写。

$(whoami) who am i ,获取当前的用户。

-R –recursive 的缩写,递归处理,将指定目录和所有子目录一并处理。

执行完命令,可以用 ls -l 来查看一下是否修改成功。

常用选项列表:必要参数

-c :–changes 的缩写,当发生改变时输出调试信息,仅显示更改部分的信息

-f :不显示错误信息,忽略错误信息

-h :修复符号链接

-R :–recursive 的缩写, 递归处理,将指定目录以及其子目录下的所有文件一并处理

-v :–verbose 的缩写, 显示指令执行过程的详细的处理信息选择参数

--help :显示帮助信息

--version :显示版本信息