问:如何设置/var/www/html/目录下所有文件的只读权限?您可以在Linux/Unix/macOS/OSX/*BSD操作系统上使用chmod命令设置所有文件的只读权限。本文介绍如何在Linux/UnixWeb服务器(如Nginx、Lighttpd、Apache等)上设置只读文件权限。如何设置文件为只读模式语法为:###Onlyforfiles###chmod0444/var/www/html/*chmod0444/var/www/html/*.php如何设置目录到只读模式语法是:###fordirectoriesonly###chmod0444/var/www/html/chmod0444/path/to/your/dir/#*************************************************************************************#如果web服务器的用户/组是www-data,则文件的所有者是ftp-data用户/组#******************************************************************************#设置目录下所有文件为只读chmod-R0444/var/www/html/#设置file/directoryownerasftp-datachown-Rftp-data:ftp-data/var/www/html/#所有目录和子目录的权限都是0445(这样web服务器的用户或者用户组就可以读取我们的文件)找到/var/www/html/-typed-print0|xargs-0-I{}chmod0445"{}"查找/var/www/html下的所有文件(包括子目录),输入:###只对文件有效###find/var/www/html-typef-iname"*"-print0|xargs-I{}-0chmod0444{}但是,您需要对/var/www/html目录及其子目录设置只读和执行权限,以便Web服务器可以访问根目录,键入:###仅对目录有效###find/var/www/html-typed-iname"*"-print0|xargs-I{}-0chmod0544{}注意写权限请注意/var/www对/html/目录的写权限将允许任何人删除文件或添加新文件。也就是说,您可能需要对/var/www/html/目录本身设置只读权限。###web根目录只读###chmod0555/var/www/html在某些情况下,根据您的配置要求,您可以更改文件的属主和属组以设置严格的权限。###如果/var/www/html目录的所有者是普通用户,可以设置所有者为:root:root或者httpd:httpd(推荐)###chown-Rroot:root/var/www/html/###确保apache拥有/var/www/html/###chown-Rapache:apache/var/www/html/关于NFS导出目录,您可以在/etc/exports文件中指定哪些目录应该具有只读或读写权限。该文件定义了NFS服务器上的各种共享及其权限。例如:#对任何人的只读访问/var/www/html*(ro,sync)#对192.168.1.10(upload.example.com)客户端的读写访问/var/www/html192.168.1.10(rw,sync)关于MS-Windows客户端的Samba(CIFS)只读共享要以只读方式共享销售,请按如下方式更新smb.conf:[sales]comment=SalesDatapath=/export/cifs/salesreadonly=Yesguestok=是关于文件系统表(fstab),您可以在Unix/Linux上的/etc/fstab文件中将某些文件配置为只读。您需要有一个专用分区,不要将其他系统分区设置为只读模式。在/etc/fstab文件中将/srv/html设置为只读模式,如下所示。/dev/sda6/srv/htmlext4ro11可以使用mount命令以只读模式重新挂载分区(使用root用户)#mount-oremount,ro/dev/sda6/srv/htmlor#mount-oremount,ro/srv/html上面的命令会尝试将挂载的文件系统重新挂载到/srv/html。这是更改文件系统挂载标志的常用方法,尤其是使只读文件可写。此方法不会更改设备或安装点。要使文件再次可写,请键入:#mount-oremount,rw/dev/sda6/srv/html或#mount-oremount,rw/srv/htmlLinux:chattr命令您可以在Linux文件系统上使用chattr命令修改文件属性为只读,如:chattr+i/path/to/file.phpchattr+i/var/www/html/#查找/var/www/html下任意一个文件,设置为只读#find/var/www/html-iname"*"-print0|xargs-I{}-0chattr+i{}可以通过提供-i选项来删除只读属性:chattr-i/path/to/file.phpFreeBSD、MacOSX和其他BSDUnix用户可以使用chflags命令:###设置只读##chflagsschg/path/to/file.php###删除只读##chflagsnoschg/path/to/file.php
