﻿---
title: "加固本机：allow_login_shell = false"
summary: "默认允许 login shell。设成 false 会拒绝 login=true，未指定时改走非 login。靠 ~/.profile 注入 PATH 的远端机不要盲目关。"
category: sandbox
level: advanced
surfaces: [cli]
tags: ["config.toml", "shell", "安全"]
canonical: /tips/allow-login-shell-false/
---

# 加固本机：allow_login_shell = false

默认允许 login shell。设成 false 会拒绝 login=true，未指定时改走非 login。靠 ~/.profile 注入 PATH 的远端机不要盲目关。

shell 工具可以请求 login shell（会读 `~/.profile` / `~/.zprofile`）。默认 `allow_login_shell = true`。要收紧本机 CLI：

```toml
# ~/.codex/config.toml
approval_policy = "on-request"
sandbox_mode = "read-only"
allow_login_shell = false
```

`false` 时：显式 `login = true` 会被拒；没写 `login` 的请求按非 login 启动。这能避免工具经 login rc 拉进意外 PATH、别名或环境。

桌面 Remote / SSH 常常**需要**远端 login shell 才能找到 nvm / Homebrew 的 `codex`。那种机器保持默认 `true`，改把 PATH 写进 `~/.profile` 或 `shell_environment_policy.set`。本机加固和远端 PATH 修复是两件相反的事，不要复制同一行到所有主机。

## 来源

- [OpenAI · Agent approvals and security](https://learn.chatgpt.com/docs/agent-approvals-security)
- [OpenAI · Config advanced](https://learn.chatgpt.com/docs/config-file/config-advanced)
