Article ID: 6572, created on Apr 2, 2013, last review on Aug 19, 2016

  • Applies to:
  • Plesk for Linux/Unix

问题

域名虚拟主机目录下的某些文件和目录已不再有相应权限。有些由用户 apacheroot 所有。

当尝试通过文件管理器或 FTP 客户端上传文件时会显示 "权限被拒" 或 "访问被拒" 错误。

备份任务失败并显示日志:

/bin/tar: httpdocs/path/to/a/file: Cannot open: Permission denied

/bin/tar: httpdocs/path/to/a/file: Cannot stat: Permission denied

如何恢复虚拟主机的默认权限?

回答

针对 Plesk 9.5

# /usr/local/psa/admin/sbin/vhostmng --install-vhost --vhost-name=example.com --user-name=ftp_user_name --set-content-permissions

针对 Plesk 10.0-10.3

# /usr/local/psa/admin/sbin/vhostmng --install-vhost --vhost-name=example.com --user-name=ftp_user_name --www-root=/var/www/vhosts/example.com/httpdocs --cgi-bin-path=/var/www/vhosts/domain.tld/cgi-bin --set-content-permissions

在该命令中,domain.tld 是要恢复权限的域名而 ftp_user_name 是域名的 FTP 用户。 通过以下查询找到用户:

# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin psa -e"select d.name as domain, su.login as user_name from domains d, sys_users su, hosting h where d.id=h.dom_id and h.sys_user_id=su.id and d.name='example.com'"
+---------------+---------------+
| domain        | user_name     |
+---------------+---------------+
|  example.com  | ftp_user_name |
+---------------+---------------+
# 

针对 Plesk 10.4

使用超级用户权限运行以下命令来下载 shell 脚本压缩文件。解压并执行脚本,提供所需域名作为一个参数:

# wget https://kb.plesk.com/Attachments/kcs-20264/recover_plesk_directories-10.4.zip
# unzip recover_plesk_directories-10.4.zip
# sh recover_plesk_directories-10.4 example.com

针对 Plesk 11.0

使用超级用户权限运行以下命令来下载shell 脚本压缩文件。解压并执行脚本,提供所需域名作为一个参数:

# wget https://kb.plesk.com/Attachments/kcs-20264/recover_plesk_directories.zip
# unzip recover_plesk_directories.zip
# sh recover_plesk_directories.sh example.com

针对 Plesk 11.5、12 和 12.5:

  1. 请务必安装最新的微更新。

  2. 使用超级用户权限运行以下命令

    # /usr/local/psa/bin/repair --restore-vhosts-permissions
    

针对 Windows 版 Plesk 的解决方案请参阅文章 #3018

其他信息

可进入虚拟主机结构 页面找到虚拟主机结构描述。

以下是 Plesk 12.5 域名的默认权限:

# ls -la /var/www/vhosts/example.com
total 16
drwx--x---  4 admin123 psaserv 4096 Jan  5 13:14 .
drwxr-xr-x 13 root     root    4096 Jan  5 13:14 ..
drwxr-x---  6 admin123 psaserv 4096 Jan  5 13:14 httpdocs
drwx------  2 admin123 root    4096 Jan  5 13:15 logs

# ls -la /var/www/vhosts/system/example.com
total 24
drwx--x--x 6 root   psaserv 4096 Jan  5 13:14 .
drwxr-xr-x 7 root   root    4096 Jan  5 13:14 ..
drwxr-x--- 2 root   psaserv 4096 Jan  5 13:15 conf
drwxr-xr-x 2 root   root    4096 Jan  5 13:14 etc
drwx------ 2 psaadm root    4096 Jan  5 13:15 logs
dr-xr-x--- 6 root   psaserv 4096 Jan  5 13:14 statistics

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838

Email subscription for changes to this article