命令功能
login命令用于登录系统,也可以用来切换登录身份。当用户从终端登录时,系统会自动调用此命令。该命令会验证用户身份,设置用户环境,并启动指定的 shell。
基本语法
login [选项] [用户名]
常用选项
| 选项 | 说明 |
|---|---|
-p | 保留环境变量 |
-f | 跳过二次验证(仅用于 root 用户) |
-h | 指定远程主机名 |
-r | 执行 rlogin 会话 |
使用示例
登录系统
login
以指定用户身份登录
login username
保留当前环境变量登录
login -p
从远程主机登录
login -h remote_host username
工作流程
- 验证身份:检查
/etc/passwd和/etc/shadow文件验证用户名和密码 - 设置环境:读取
/etc/profile和用户家目录下的.profile、.bash_profile等配置文件 - 启动 shell:根据用户配置启动指定的 shell(如 bash、zsh 等)
- 记录日志:在
/var/log/wtmp中记录登录信息
注意事项
- 权限要求:普通用户只能登录自己的账户,root 用户可以登录任何账户
- 环境变量:使用
-p选项可以保留当前环境变量,否则会重新初始化环境 - 登录限制:可以通过
/etc/nologin文件禁止非 root 用户登录 - 安全退出:使用
exit或logout命令退出登录会话
相关命令
su:切换用户身份sudo:以其他用户身份执行命令passwd:修改用户密码who:显示当前登录用户信息last:显示用户登录历史记录