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。

相关推荐
笑锝没心没肺15 分钟前
Linux安装docker及运行容器测试
linux·运维·docker
Mr_liu_66622 分钟前
Claude非专业入门实战笔记(附录):关闭Telemetry-遥测,消除无用网络请求与日志噪音
linux·笔记·ubuntu·ai编程
时空无限28 分钟前
ubuntu apt 查看软件之间的依赖
linux·运维·ubuntu
Escalating_xu31 分钟前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
Escalating_xu42 分钟前
【Linux】进程信号:从产生、阻塞与递达到 sigaction、可重入与内核返回路径
linux·运维·面试·职场和发展
2603_966437261 小时前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
人还是要有梦想的1 小时前
ubuntu系统安装mysql8.1服务器步骤
服务器·ubuntu·mysql8.1数据库服务器
RisunJan1 小时前
Linux命令-traceroute(IP 路由路径追踪)
linux·运维·tcp/ip
芷栀夏1 小时前
极空间部署Sokoban:Docker搭建网页版推箱子并实现远程访问
运维·docker·容器
深圳恒讯1 小时前
乌克兰服务器的网络延迟、机房现状与稳定性情况
运维·服务器·网络