在 Oracle Linux 上管理用户
一 核心概念与文件
二 常用用户与组管理命令
sudo useradd alice。默认会创建家目录(受 /etc/login.defs 中 CREATE_HOME 影响)、使用 UPG 作为主组、默认 Shell 通常为 /bin/bash。可用 -d /path、-m、-s /bin/bash 等选项自定义家目录、强制创建家目录与登录 Shell。sudo passwd alice。在 /etc/shadow 中,未设置口令时条目通常以 !! 表示,设置后会被替换为哈希值。sudo usermod -c "Alice Smith" alice(修改 GECOS/全名);将用户加入附加组:sudo usermod -aG staff alice(-aG 表示追加到附加组,避免覆盖原有附加组)。sudo groupadd staff。查看组:tail /etc/group 或 grep staff /etc/group。groups;临时切换主组:newgrp staff;切换用户会话:su - alice。sudo userdel -r alice(-r 同时删除家目录与邮件假脱机)。操作前确认无正在运行的进程与重要数据。三 目录共享与权限配置
sudo mkdir /staffsudo chgrp -R staff /staffsudo chmod -R 2775 /staff(2=setgid,使得新建文件继承目录的组;775 为 rwxrwxr-x)sudo usermod -aG staff alice、sudo usermod -aG staff oraclesu - oracle 后 groups 应看到 oracle 与 staff;在 /staff 中创建文件,检查组与权限是否符合预期。四 授予管理员权限与集中身份管理
visudo)。示例:为 oracle 授予全部命令的 sudo 权限
oracle ALL=(ALL) ALLoracle 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五 易错点与排查
usermod -G 会覆盖附加组,导致用户丢失原有组;应使用 usermod -aG。ls -ld /path 是否为 drwxrwsr-x,以及 groups 输出。passwd 重设并确认策略(如 /etc/login.defs 的老化设置)。userdel -r,或排查相关服务与进程。