服务器上创建文件/etc/apparmor.d/deny-passwd
profile deny-passwd flags=(attach_disconnected) {
# 默认允许文件读写和一般命令执行
file,
# 阻止执行 passwd
deny /usr/bin/passwd x,
}
启用
sudo apparmor_parser -r /etc/apparmor.d/deny-passwd
查看是否生效
root@gpu03:/home/xb/k8s/yamls# aa-status | grep deny-passwd
deny-passwd
/usr/bin/bash (176457) deny-passwd
/usr/sbin/sshd (176530) deny-passwd
/usr/bin/python3.12 (176531) deny-passwd
创建pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: gpua
labels:
app: gpu
spec:
replicas: 1
selector:
matchLabels:
app: gpu
template:
metadata:
labels:
app: gpu
spec:
containers:
- name: gpu
image: compute.aaa.tech:5000/pytorch:25.01-py3-sshd
env:
- name: ROOT_PASSWORD
value: "123456abcd"
- name: JUPYTER_ENABLE_LAB
value: "yes"
resources:
limits:
nvidia.com/gpu: 1
securityContext:
appArmorProfile:
type: Localhost
localhostProfile: deny-passwd
容器内验证是否生效
root@gpua-7c8598785b-b4n6m:/workspace# passwd root
bash: /usr/bin/passwd: Permission denied
核心配置
appArmorProfile:
type: Localhost
localhostProfile: deny-passwd