Debian系统管理用户

Debian 管理用户权限主要依靠 Linux 的权限体系,包括:

  • 用户与用户组(User / Group)

  • 文件权限(rwx)

  • sudo 提权

  • 特殊权限(SUID/SGID/Sticky)

  • ACL 更细粒度控制

  • systemd 服务权限隔离


一、Debian 权限管理的核心:用户与组

Linux 系统中每个进程、文件都属于:

  • 一个用户(owner)

  • 一个组(group)

1. 查看当前用户

whoami

2. 查看用户信息

id 用户名

例:

id root
id philip

输出:

  • uid:用户ID

  • gid:主组ID

  • groups:附加组


二、用户管理命令

1. 创建用户

sudo adduser 用户名

例:

sudo adduser testuser

会自动创建 home 目录:

/home/testuser

2. 删除用户

sudo deluser 用户名

删除用户并删除 home:

sudo deluser --remove-home 用户名

3. 修改用户属性

修改用户名

sudo usermod -l 新名 旧名

修改 home 目录

sudo usermod -d /new/home 用户名

三、用户组管理(权限控制重点)

1. 创建组

sudo groupadd 组名

2. 添加用户到组

sudo usermod -aG 组名 用户名

例:让用户拥有 sudo 权限:

sudo usermod -aG sudo testuser

3. 查看用户所属组

groups 用户名

4. 删除用户组权限

sudo deluser 用户名 组名

例:

sudo deluser testuser sudo

四、sudo:Debian 权限管理核心

Debian 默认 root 权限最高。

普通用户需要通过 sudo 执行管理员操作。


1. 给用户 sudo 权限

方法1:加入 sudo 组(推荐)

sudo usermod -aG sudo 用户名

方法2:修改 sudoers 文件(高级)

编辑:

sudo visudo

添加:

username ALL=(ALL:ALL) ALL

2. 禁止 sudo 权限

sudo deluser 用户名 sudo

五、文件权限管理(rwx)

Linux 文件权限格式:

ls -l

例:

-rwxr-xr--

拆解:

部分 含义
rwx 文件所有者权限
r-x 用户组权限
r– 其他人权限

1. 修改权限 chmod

chmod 权限 文件

示例:

chmod 755 script.sh

对应:

  • owner:rwx

  • group:r-x

  • other:r-x


2. 修改所有者 chown

sudo chown 用户:组 文件

例:

sudo chown testuser:testuser file.txt

六、特殊权限控制

1. SUID(以文件所有者身份执行)

例如 passwd:

ls -l /usr/bin/passwd

权限:

-rwsr-xr-x

s 表示 SUID。

设置:

chmod u+s 文件

⚠️危险:不建议随意使用。


2. SGID(继承组权限)

目录设置 SGID:

chmod g+s /shared

新文件自动属于该组。


3. Sticky Bit(防止别人删除文件)

常见于 /tmp

chmod +t /shared

七、ACL:更细粒度权限(推荐企业使用)

传统权限只能控制:

  • owner

  • group

  • others

ACL 可以控制:

  • 指定某个用户额外权限


1. 启用工具

sudo apt install acl

2. 给某用户权限

setfacl -m u:user:rwx 文件

例:

setfacl -m u:testuser:rw file.txt

3. 查看 ACL

getfacl file.txt

八、限制用户权限的常见方法

1. 禁止登录 shell

sudo usermod -s /usr/sbin/nologin 用户名

2. 限制用户只能 SFTP

通过 sshd_config:

Match User testuser
    ForceCommand internal-sftp

3. 限制资源(CPU/内存/进程数)

编辑:

/etc/security/limits.conf

例如:

testuser hard nproc 50

九、Debian 服务权限隔离(systemd)

服务建议不用 root 运行。

例如:

[Service]
User=nobody
NoNewPrivileges=true
CapabilityBoundingSet=CAP_NET_BIND_SERVICE

这样服务权限更安全。


 

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享