Linux文件权限管理需用chmod、chown、find和umask:一、chmod改单文件权限(符号/数字模式);二、chmod -R递归改目录权限;三、chown配chmod调用户组权限;四、find按条件批量改权;五、umask控新建文件默认权限。
如果您需要调整Linux系统中文件或目录的访问控制,以确保特定用户或组能够正确读取、写入或执行文件,则必须修改文件权限。以下是实现此目标的具体方法:
一、使用chmod命令修改单个文件权限
chmod(change mode)是Linux中用于修改文件或目录权限的核心命令,支持符号模式和八进制数字模式两种方式指定权限。符号模式便于理解操作意图,数字模式适合快速批量设定。
1、打开终端,切换到目标文件所在目录,例如:cd /home/user/documents。
2、查看当前文件权限,运行:ls -l filename.txt。
3、使用符号模式为所有者添加执行权限:chmod u+x filename.txt。
4、使用数字模式将权限设为所有者可读写执行、组用户可读写、其他用户仅可读:chmod 764 filename.txt。
二、使用chmod递归修改目录及其全部内容权限
当需统一调整整个目录树下所有文件与子目录的权限时,-R(recursive)选项可使chmod作用于目标目录下的每一项,避免逐一手动设置。
1、确认当前路径为待处理目录的父级,或使用绝对路径明确指定目标,例如:cd /var/www/html。
2、赋予目录及其所有子目录执行权限(以便进入),同时为其中所有文件添加组写权限:chmod -R g+w,u+x /var/www/html。
3、将整个目录结构权限重置为标准Web服务配置:目录设为755,文件设为644,需分两步执行:find /var/www/html -type d -exec chmod 755 {} \;。
4、紧接着执行:find /var/www/html -type f -exec chmod 644 {} \;。
三、使用chown配合chmod精确控制用户与组权限
仅修改权限不足以满足复杂访问需求,常需同步变更文件所属用户和所属组。chown可独立设置所有者与组,也可与chmod联用实现精细授权。
1、将文件所有权更改为用户john、所属组设为www-data:chown john:www-data config.php。