linux Ubuntu 用户权限设置

Ubuntu 用户权限设置指南

目录

  1. 用户和用户组管理
  2. 文件和目录权限
  3. sudo权限配置
  4. 常见示例
  5. 注意事项

用户和用户组管理

用户操作

操作 命令
创建用户 sudo adduser <用户名>
删除用户 sudo deluser <用户名>
修改用户密码 sudo passwd <用户名>
查看用户信息 id <用户名>

用户组操作

操作 命令
创建用户组 sudo groupadd <组名>
删除用户组 sudo groupdel <组名>
将用户加入附加组 sudo usermod -aG <组名> <用户名>
查看用户所属组 groups <用户名>

文件和目录权限

权限类型

  • r (读):文件可读,目录可列出内容
  • w (写):文件可修改,目录可创建/删除文件
  • x (执行):文件可执行,目录可进入

修改权限 (chmod)

bash 复制代码
# 数字模式(推荐)
chmod 755 filename  # 所有者:rwx,其他用户:r-x

# 符号模式
chmod u+rwx,g+rx,o-rwx filename  # 所有者加rwx,组加rx,其他用户移除所有权限

# 修改所有者 (chown)

```bash
sudo chown <用户名>:<组名> filename  # 同时修改所有者和组
sudo chown <用户名> filename        # 仅修改所有者

修改所属组 (chgrp)

bash 复制代码
sudo chgrp <组名> filename

特殊权限

setuid (4xxx): 文件执行时以所有者身份运行

setgid (2xxx): 目录中新文件继承组身份

sticky bit (1xxx): 仅文件所有者可删除目录内文件

sudo权限配置

编辑sudoers文件

sudo visudo # 安全编辑方式(避免语法错误)

配置示例

bash 复制代码
# 允许用户执行所有命令
<用户名> ALL=(ALL:ALL) ALL

# 允许组执行特定命令
%<组名> ALL=(ALL) /usr/bin/apt,/usr/bin/systemctl

常见示例

  1. 共享文件夹权限
bash 复制代码
sudo mkdir /shared
sudo chown root:shared_group /shared
sudo chmod 2775 /shared  # setgid + rwxrwxr-x
  1. 允许用户管理服务

在sudoers中添加:

bash 复制代码
%admins ALL=(ALL) /usr/bin/systemctl restart nginx

注意事项 谨慎使用chmod 777:过度开放权限可能导致安全风险。

最小权限原则:仅授予必要权限,避免用户越权操作。

定期审查权限:使用ls -l或find / -perm -4000检查特殊权限文件。

备份配置:修改/etc/sudoers前建议备份。

避免直接编辑系统文件:使用visudo而非直接编辑/etc/sudoers。

相关推荐
一条破秋裤27 分钟前
【1114】【并发控制】【笔记】
linux
2035去旅行2 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康2 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡2 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽2 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
SQL774 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS5 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet5 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落7 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall8 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr