Linux服务器权限与安全核心笔记

一、Linux文件/文件夹权限基础

1.1 权限核心构成

Linux权限由「三类角色 」和「三种权限 」组合而成,权限标识以字符串形式呈现(如drwxr-xr-x)。

  • 三类角色:所有者(u,文件创建者)、所属组(g,创建者所在用户组)、其他用户(o,非所有者且非所属组用户);

  • 三种权限:读(r=4)、写(w=2)、执行(x=1),权限可叠加(如rwx=4+2+1=7);

  • 权限标识解析:共10位字符,第1位标识类型(d=文件夹,-=文件),第2-4位为所有者权限,第5-7位为所属组权限,第8-10位为其他用户权限。

1.2 常用权限场景对照表

使用场景 权限数值 权限字符(文件/文件夹) 核心说明
公共可访问文件夹 755 drwxr-xr-x 所有者读写执行,其他用户仅能访问
仅自己可用文件夹 700 drwx------ 仅所有者可操作,其他人无权限
公共可读文件 644 -rw-r--r-- 所有者读写,其他用户仅能查看
敏感文件(如配置) 600 -rw------- 仅所有者可读写,防止篡改
可执行脚本文件 755 -rwxr-xr-x 所有者可修改执行,其他用户可执行查看

1.3 权限设置方法

1.3.1 图形化方式(FileZilla)

  1. 选中目标文件/文件夹,右键选择「文件权限」或「属性→权限」;

  2. 勾选对应角色的「读/写/执行」权限,或直接输入权限数值(如755);

  3. 确认后生效。

1.3.2 命令行方式(chmod)

核心命令:chmod 权限数值 目标路径,可加-R参数递归设置子文件/文件夹权限。

bash 复制代码
# 示例1:设置文件夹为公共可访问
chmod 755 /home/public_dir
# 示例2:递归设置敏感文件仅自己可用
chmod -R 600 /home/user/config
# 示例3:设置脚本可执行
chmod 755 /home/user/script.sh

二、Linux用户管理与权限分配

2.1 新增用户完整流程

  1. 创建用户 :默认生成同名用户组,命令:useradd 用户名(如useradd testuser);

  2. 设置密码 :必须执行,否则无法登录,命令:passwd 用户名(如passwd testuser),按提示输入密码;

  3. (可选)添加附加组 :加入sudo组获取管理员权限,命令:usermod -aG 组名 用户名(如usermod -aG sudo testuser)。

2.2 用户权限分配方法

2.2.1 修改文件所有者/所属组(chown)

核心命令:chown 所有者:所属组 目标路径-R参数递归生效。

bash 复制代码
# 示例:将/data文件夹及子内容的所有者和组设为testuser
chown -R testuser:testuser /data

2.2.2 直接开放文件权限(chmod)

针对非所有者用户,通过开放「所属组」或「其他用户」权限实现访问,推荐安全方式:给所属组开放权限而非所有用户。

bash 复制代码
# 示例:将/data所属组改为testuser组,开放组内读写权限
chgrp testuser /data
chmod -R 775 /data  # 所有者+组内读写执行,其他用户只读

2.2.3 验证权限

切换用户测试访问:su - 用户名(如su - testuser),再通过ls /data等命令验证。

相关推荐
JH30731 小时前
Redisson vs Jedis vs Lettuce
java·redis
骇客野人1 小时前
java对象和JSON对象之间的转换关系
java·开发语言·json
深海里的鱼(・ω<)★1 小时前
CentOS 7 默认 yum 源官方不维护解决方案
linux·运维·centos
只与明月听1 小时前
一个有趣的面试题
前端·后端·python
红色乌鸦2 小时前
vue3+ts 中使用pinia状态管理
前端
sumAll2 小时前
拒绝黑盒!Spring @Scheduled 定时任务源码深度解析
java·后端·spring
Seven972 小时前
剑指offer-47、求1+2+3...+n
java
ZePingPingZe2 小时前
Spring boot2.x-第05讲番外篇:常用端点说明
java·spring boot·后端