まず、mysqlがマシンでよく戻っているようだと申し上げます。それにもかかわらずsu mysql
、私とls /var/lib/mysql
私のアクセスは拒否されます。私のデータベーステーブルに対応するデータファイルを見ると、sudo ls /var/lib/mysql
これはmysqlのデータフォルダであるに違いありません。
mysqlユーザーは自分のデータフォルダにアクセスできないはずですか?機械が誤って構成されていますか?
詳細は:
$ sudo ls -la /var/lib/ | grep mysql
drwx------ 5 mysql mysql 4096 2011-06-25 08:05 mysql
$ sudo su mysql
$ ls /var/lib/mysql
ls: cannot open directory /var/lib/mysql: Permission denied
$ sudo ls -la /var | grep lib
drwxr-xr-x 42 root root 4096 2011-03-17 12:03 lib
$ sudo ls -la / | grep var
drwxr-xr-x 14 root root 4096 2010-12-02 19:14 var
$
答え1
テストには一種のバグがあります。デーモンが正しく動作するという事実は、ユーザーがmysql
フォルダを読むことができることを証明します。 showの出力としてls
それはまさにに属しますmysql
。実際にユーザーなら読んmysql
で問題ないでしょう。
私はあなたがsu
失敗したと思います。おそらくmysql
ユーザーにシェルがないからです。チェックインできますが、に/etc/passwd
設定されて成功し/bin/true
ましたがsu
、すぐに終了し、実行するとls
ユーザーとして実行されます。試してsudo -u mysql ls -al /var/lib/mysql
みてください。
次回は、あなたが本当にあなたが考えている人であることを確認してくださいwhoami
。これは、現在のユーザー名が通常PS1プロンプトの一部である理由の1つです。上記のコピー/貼り付けを編集していない場合、シェルプロンプトには誰が表示されません。