原文地址: Linux 添加用户和组
欢迎访问我的博客: http://blog.duhbb.com/
引言
【Linux 添加用户和组】本文记录了 Linux 中添加用户和组的一些实用命令, 将其汇集到一起方便查找和排查问题. 缘起于一次启动 nginx 报错了, 后来发现是 nginx 这个用户没有, 随想到需要增加组和用户, 将相关命令记录于此.
cannot open /etc/group
groupadd :cannot open /etc/group, 后来看别人的博客介绍, 原来是在添加用户时, 需要涉及到 /etc/group
, /etc/gshadow
, /etc/shadow
, /etc/passwd
这是个文件. 而且这四个文件的权限都是隐藏权限, 后来修改这四个文件的权限后在添加用户和组就可以了.
修改文件权限
chattr -i /etc/gshadow
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/passwd
添加用户和组
groupadd apache
useradd -g apache apache
useradd -s /sbin/nologin -M nginx -g nginx
useradd
命令的选项:--badnamesdo not check for bad names
-b, --base-dir BASE_DIR新账户的主目录的基目录
--btrfs-subvolume-homeuse BTRFS subvolume for home directory
-c, --comment COMMENT新账户的 GECOS 字段
-d, --home-dir HOME_DIR新账户的主目录
-D, --defaults显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE新账户的过期日期
-f, --inactive INACTIVE新账户的密码不活动期
-g, --gid GROUP新账户主组的名称或 ID
-G, --groups GROUPS新账户的附加组列表
-h, --help显示此帮助信息并退出
-k, --skel SKEL_DIR使用此目录作为骨架目录
-K, --key KEY=VALUE不使用 /etc/login.defs 中的默认值
-l, --no-log-init不要将此用户添加到最近登录和登录失败数据库
-m, --create-home创建用户的主目录
-M, --no-create-home不创建用户的主目录
-N, --no-user-group不创建同名的组
-o, --non-unique允许使用重复的 UID 创建用户
-p, --password PASSWORD加密后的新账户密码
-r, --system创建一个系统账户
-R, --root CHROOT_DIRchroot 到的目录
-P, --prefix PREFIX_DIRprefix directory where are located the /etc/* files
-s, --shell SHELL新账户的登录 shell
-u, --uid UID新账户的用户 ID
-U, --user-group创建与用户同名的组
-Z, --selinux-user SEUSER为 SELinux 用户映射使用指定 SEUSER
其他命令
# 建用户:
adduser phpq# 新建 phpq 用户
passwd phpq# 给 phpq 用户设置密码# 建工作组
groupadd test# 新建 test 工作组# 新建用户同时增加工作组
useradd -g test phpq# 新建 phpq 用户并增加到 test 工作组
# 注::-g 所属组 -d 家目录 -s 所用的 SHELL# 给已有的用户增加工作组
usermod -G groupname username
gpasswd -a user group# 临时关闭: 在/etc/shadow 文件中属于该用户的行的第二个字段 (密码) 前面加上*就可以了. 想恢复该用户, 去掉*即可.
# 或者使用如下命令关闭用户账号:
passwd peter –l# 重新释放:
passwd peter –u# 永久性删除用户账号
userdel peter
groupdel peter
usermod –G peter peter# (强制删除该用户的主目录和主目录下的所有文件和子目录)# 从组中删除用户# 编辑/etc/group 找到 GROUP1 那一行, 删除 A 或者用命令 gpasswd -d A GROUP# 显示用户信息
id user
cat /etc/passwd# 查看用户和用户组的方法
/etc/passwd# 用户列表文件
/etc/group# 用户组列表文件
cut -d : -f 1 /etc/passwd# 查看系统中有哪些用户
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1# 查看可以登录系统的用户# 查看用户操作:w 命令 (需要 root 权限)
w [username]# 查看某一用户
who# 查看登录用户
last# 查看用户登录历史记录
原文地址: Linux 添加用户和组
欢迎访问我的博客: http://blog.duhbb.com/