插件窝 干货文章 如何使用Linux进行用户和权限管理

如何使用Linux进行用户和权限管理

用户 权限 username filename 290    来源:    2025-04-13

Linux用户和权限管理指南

作为IT工程师,掌握Linux用户和权限管理是基础技能。以下是详细的Linux用户和权限管理方法:

一、用户管理

1. 用户账户操作

# 添加新用户
sudo useradd username  # 创建用户
sudo passwd username   # 设置密码

# 修改用户属性
sudo usermod -aG groupname username  # 将用户添加到附加组
sudo usermod -d /new/home username   # 修改用户主目录
sudo usermod -s /bin/bash username  # 修改用户默认shell

# 删除用户
sudo userdel username        # 删除用户(保留主目录)
sudo userdel -r username     # 删除用户及主目录

2. 用户配置文件

  • /etc/passwd - 用户账户信息
  • /etc/shadow - 加密密码存储
  • /etc/group - 组信息
  • /etc/skel/ - 新用户默认配置文件目录

二、组管理

# 创建组
sudo groupadd groupname

# 修改组
sudo groupmod -n newname oldname  # 重命名组

# 删除组
sudo groupdel groupname

# 查看用户所属组
groups username
id username

三、权限管理

1. 文件权限基础

Linux文件权限分为三类: - 用户(owner)权限 - 组(group)权限 - 其他用户(other)权限

每种权限包含: - 读(r/4) - 写(w/2) - 执行(x/1)

2. 权限操作命令

# 查看权限
ls -l filename

# 修改权限(chmod)
chmod u+rwx filename    # 给用户添加读写执行权限
chmod g-rwx filename    # 移除组的全部权限
chmod o=rx filename     # 设置其他用户权限为读执行
chmod 755 filename      # 数字表示法(用户:rwx, 组:r-x, 其他:r-x)

# 修改所有者(chown)
sudo chown username filename      # 修改文件所有者
sudo chown username:group filename  # 同时修改所有者和组

# 修改所属组(chgrp)
sudo chgrp groupname filename

3. 特殊权限

# 设置SUID(4)
chmod u+s filename      # 执行时以文件所有者身份运行
chmod 4755 filename

# 设置SGID(2)
chmod g+s filename      # 执行时以文件所属组身份运行
chmod 2755 filename

# 设置粘滞位(1)
chmod +t directory      # 只有文件所有者才能删除目录中的文件
chmod 1777 directory

四、高级权限管理

1. ACL(访问控制列表)

# 查看ACL
getfacl filename

# 设置ACL
setfacl -m u:username:rwx filename  # 为用户设置权限
setfacl -m g:groupname:rx filename  # 为组设置权限
setfacl -x u:username filename      # 删除用户ACL条目

# 默认ACL(用于目录)
setfacl -d -m u:username:rwx directory

2. sudo权限管理

通过/etc/sudoers文件管理(使用visudo命令编辑):

# 允许用户执行所有命令
username ALL=(ALL) ALL

# 允许组执行特定命令
%groupname ALL=/sbin/service,/sbin/chkconfig

# 无需密码执行
username ALL=(ALL) NOPASSWD: ALL

五、最佳实践

  1. 最小权限原则:只授予必要的权限
  2. 使用组管理:将权限分配给组而非单个用户
  3. 定期审计:检查用户账户和权限设置
  4. 使用sudo:避免直接使用root账户
  5. 密码策略:设置强密码和定期更换

通过以上方法,您可以有效地管理Linux系统中的用户和权限,确保系统安全性和资源合理分配。