我正在我們的一台伺服器上安裝 MySQL。我是ec2-user
,我正在嘗試安裝在ec2-user
主目錄中,但允許使用者存取該目錄mysql
。
然而,即使最初登入為mysql
我可以存取該目錄,但如果我離開,我找不到返回該目錄的方法:
-bash-4.1$ whoami
mysql
-bash-4.1$ ls
bin COPYING data docs include INSTALL-BINARY lib man my.cnf my-new.cnf mysql-5.6.24-linux-glibc2.5-x86_64 mysql-test README scripts share sql-bench support-files
-bash-4.1$ pwd
/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
-bash-4.1$ ls -l /usr/local
total 44
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 bin
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 etc
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 games
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 include
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 lib
drwxr-xr-x 3 mysql mysql 4096 Oct 8 2014 lib64
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 libexec
lrwxrwxrwx 1 mysql mysql 69 Apr 18 13:27 mysql -> /home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 sbin
drwxr-xr-x 6 mysql mysql 4096 Oct 8 2014 share
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 src
-bash-4.1$ cd /usr/local/mysql
-bash: cd: /usr/local/mysql: Permission denied
我究竟做錯了什麼?我應該以使用者身分執行整個安裝mysql
嗎?
答案1
/usr/local/mysql
連結到/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
,雖然連結本身俱有預設連結權限,但我們仍然不知道權限的用途/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
,我敢打賭這就是問題的根源。
的輸出是什麼ls -la /home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
?由 a 代表的條目.
是我們感興趣的。
- 所有者不正確(可能還有組)。在本例中,應設定為 mysql 進程運行的任何內容
mysql
- 權限不正確。可以有很多東西,但我覺得應該是700(主人可以做任何事,別人不准碰它)
- 以上兩者的組合。