首页主机资讯Oracle在Linux上如何管理用户

Oracle在Linux上如何管理用户

时间2025-11-17 16:15:04发布访客分类主机资讯浏览1383
导读:在 Oracle Linux 上管理用户 一 核心概念与文件 本地账户信息主要保存在:/etc/passwd(账户与登录信息)、/etc/shadow(加密口令与口令策略)、/etc/group(组信息)、/etc/gshadow(组口令...

在 Oracle Linux 上管理用户

一 核心概念与文件

  • 本地账户信息主要保存在:/etc/passwd(账户与登录信息)、/etc/shadow(加密口令与口令策略)、/etc/group(组信息)、/etc/gshadow(组口令与成员管理)。Oracle Linux 默认启用用户专用组 UPG:创建用户时会自动创建一个与其同名的私有组,该用户为该组的唯一成员。系统使用shadow 口令机制,仅管理员可读写相关文件。用户可用 newgrp 切换当前组,或登录会话中调整有效 GID。口令策略与账户老化等参数由 /etc/login.defs 定义。

二 常用用户与组管理命令

  • 创建用户:使用 useradd。示例:sudo useradd alice。默认会创建家目录(受 /etc/login.defsCREATE_HOME 影响)、使用 UPG 作为主组、默认 Shell 通常为 /bin/bash。可用 -d /path-m-s /bin/bash 等选项自定义家目录、强制创建家目录与登录 Shell。
  • 设置口令:使用 passwd。示例:sudo passwd alice。在 /etc/shadow 中,未设置口令时条目通常以 !! 表示,设置后会被替换为哈希值
  • 修改账户信息:使用 usermod。示例:sudo usermod -c "Alice Smith" alice(修改 GECOS/全名);将用户加入附加组:sudo usermod -aG staff alice-aG 表示追加到附加组,避免覆盖原有附加组)。
  • 创建与维护组:使用 groupadd。示例:sudo groupadd staff。查看组:tail /etc/groupgrep staff /etc/group
  • 组成员与切换:查看组成员:groups;临时切换主组:newgrp staff;切换用户会话:su - alice
  • 删除用户:使用 userdel。示例:sudo userdel -r alice-r 同时删除家目录与邮件假脱机)。操作前确认无正在运行的进程与重要数据。

三 目录共享与权限配置

  • 典型需求:让多个用户对同一目录具备写入能力,且新建文件继承目录的组,避免权限混乱。
  • 操作步骤(示例:/staff 目录,成员为 alice、oracle):
    1. 创建目录:sudo mkdir /staff
    2. 变更目录组:sudo chgrp -R staff /staff
    3. 设置 setgid 与权限:sudo chmod -R 2775 /staff(2=setgid,使得新建文件继承目录的组;775 为 rwxrwxr-x)
    4. 将用户加入组:sudo usermod -aG staff alicesudo usermod -aG staff oracle
    5. 验证:su - oraclegroups 应看到 oraclestaff;在 /staff 中创建文件,检查组与权限是否符合预期。
  • 说明:setgid 位确保目录内新创建的文件/子目录继承目录的 GID,配合合适的 umask 与组权限,可实现安全共享。

四 授予管理员权限与集中身份管理

  • 授予 sudo 权限:编辑 /etc/sudoers(建议使用 visudo)。示例:为 oracle 授予全部命令的 sudo 权限
    • 单行:oracle ALL=(ALL) ALL
    • 免密执行特定命令(如启停监听、RMAN):oracle ALL=(ALL) NOPASSWD: /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl, /u01/app/oracle/product/19.0.0/dbhome_1/bin/rman
  • 集中身份管理:在大规模环境中,账户与组信息可存放在中央目录(如 LDAPNIS),通过 authselect 配置认证与身份源,登录时自动挂载家目录与访问远程文件系统。

五 易错点与排查

  • 忘记加 -a 使用 usermod -G 会覆盖附加组,导致用户丢失原有组;应使用 usermod -aG
  • 新建文件不属于预期组,多为未设置目录 setgid 或用户不在目标组;检查 ls -ld /path 是否为 drwxrwsr-x,以及 groups 输出。
  • 口令未生效或账户被锁定,检查 /etc/shadow 中是否为 !!(未设置)或 !(锁定),必要时用 passwd 重设并确认策略(如 /etc/login.defs 的老化设置)。
  • 删除用户失败,常见原因为仍有进程占用或会话存在;清理会话后再执行 userdel -r,或排查相关服务与进程。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle在Linux上如何管理用户
本文地址: https://pptw.com/jishu/749047.html
Linux下Oracle如何调优内存 如何通过Ubuntu PHP提升网站速度

游客 回复需填写必要信息