2011-03-11 42 views
0

我的java命令不起作用,我認爲它與權限有關。我已經嘗試chmod/chown來更改權限,但沒有任何影響。當我用sudo啓動java應用程序時,它可以工作。任何想法?chmod/chown在mac上不能正常工作

iMac:~/ java -version 
java(347) malloc: *** error for object 0x10009357c: pointer being freed was not allocated 
*** set a breakpoint in malloc_error_break to debug 
Abort trap 
iMac:~/ sudo java -version 
java version "1.6.0_24" 
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) 
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) 
iMac:~/ which java 
/usr/bin/java 
iMac:~/ sudo chmod 777 /usr/bin/java 
iMac:~/ sudo ls -l /usr/bin/java 
lrwxrwx--- 1 root wheel 74 Mar 11 10:26 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 
iMac:~/ 

事實上,我現在注意到flash player停止工作。什麼可能是錯誤的?我只使用Apple軟件更新重新啓動計算機安裝的iTunes更新。

回答

0

使用磁盤工具修復權限。

1

當您運行「ls -l/usr/bin/java」時,您只能查看鏈接的權限。

如果您想查看「真實」權限,請將L添加到選項中,即「ls -lL/usr/bin/java」。

同樣的事情,當你運行chmod,然後你改變真實文件的權限。如果要更改鏈接的權限,請將-h添加到chmod。

祝你好運!

3

雖然與提問者的文本不完全相關,但是與實際問題標題相關的答案 - 如chmod在Mac OSX上不起作用。

您可能遇到的某些文件:[sudo] chmod:不允許操作。這表明了另一個問題,這是OSX/BSD 標誌系統功能。任何文件都可以使用chflags工具設置這些標誌,並使用ls -l yourfile(在osx上)ls -lo yourfile(在BSD上)查看。導致這個特定錯誤的是'不可變'標誌。可以使用unset(在必要時加上sudo前綴):

chflags nouchg yourfile