为什么我不能进入/ var / lib / mysql

时间:2015-02-11 02:27:00

标签: linux file-permissions

结构如下

ravas@ravas-desk-lmde /var/lib $ pwd
/var/lib
ravas@ravas-desk-lmde /var/lib $ ls -l | grep mysql
drwx------ 13 mysql   mysql   4096 Feb 10 22:32 mysql

当我尝试进入/ var / lib / mysql时,我没有权利

ravas@ravas-desk-lmde /var/lib $ cd mysql/
bash: cd: mysql/: Permission denied

虽然我属于mysql组

ravas@ravas-desk-lmde /var/lib $ groups ravas 
ravas : ravas adm dialout cdrom floppy sudo audio dip video plugdev lpadmin sambashare mysql

这里的问题是什么?

6 个答案:

答案 0 :(得分:31)

sudo -i

然后

cd /var/lib/mysql/

答案 1 :(得分:4)

mysql用户是唯一可以访问该目录的用户,可以使用root访问那里并更改权限,也可以将目录权限更改为740

chmod 740 /var/lib/mysql

权限分为3个部分user / group / else。你有

drwx------

d =目录

r = read = 4

w = write = 2

x = execute = 1

所以"所有者"已读取(4)+ write(2)+ execute(1)=该目录中的7个权限

其他人都没有

答案 2 :(得分:3)

mysql组无法访问该目录。 mysql用户的权限为rwx,但群组和其他人获得---,因此加入mysql群组并不能满足您的需求。

答案 3 :(得分:1)

mysql组对目录没有权限,只有mysql用户。

答案 4 :(得分:1)


从给定的输入中可以清楚地看出所有者mysqlread, write, execute目录上拥有/var/lib/mysql权限。

当前登录用户 - ravas是mysql组的一部分。因此,ravas用户可以cd/var/lib/mysql目录,如果群组mysqlx (ie execute)上拥有/var/lib/mysql权限。

因此chmod g+rx /var/lib/mysqlchmod 750 /var/lib/mysql允许ravas用户cd/var/lib/mysql并读取目录内容(即列表文件)

  • 注意: x/Execute目录权限允许cd到目录

答案 5 :(得分:1)

每个文件和目录都有三个基于用户的权限组:

所有者-“所有者”权限仅适用于文件或目录的所有者,它们不会影响其他用户的操作。

-“组”权限仅适用于已分配给文件或目录的组,不会影响其他用户的操作。

所有用户-“所有用户”权限适用于系统上的所有其他用户,这是您最希望观看的权限组。

  

drwx ------ 13 mysql mysql 4096 2月10日22:32 mysql

上面显示的mysql文件夹的权限为700,因此mysql用户具有所有的读写,执行权限。 mysql组没有权限。虽然,ravas用户属于mysql组。没有权限。