1.用户管理
1.1 useradd
创建新用户
useradd [选项] <用户名>
参数:
-d #指定用户家目录
-m #自动创建家目录(默认不创建,需配合-d 或使用此选项强制创建)
-s #指定登陆shell (如: -s /bin/bash,默认为 /bin/sh)
-g #指定主组
-G #指定附加组(用逗号分隔 如:-G ai,dev)
-u #指定用户uid
-p #设置加密后的密码(生成: openssl passwd)
-e #设置账号过期日期
-r #创建系统用户(无家目录,UID < 1000)
-k #指定骨架目录(默认 /etc/skel,拷贝模版文件到家目录)
创建普通用户
useradd -m -d /home/dev -s /bin/bash dev
创建用户设置主组
useradd -g devops -G docker,git dev
创建系统用户
useradd -r -s /bin/sbin/nologin nginx
指定UID并设置密码
useradd -u 1011 -p $(openssl passwd -6 "password") dev
1.2 usermod
修改用户属性
usermod [选项] <用户名>
参数:
-d #修改用户家目录
-m #移动原家目录内容到新路径(需与 -d 配合使用)
-s #更改用户shell(如: /bin/bash)
-g #更改用户属组(先用groupadd创建)
-G #修改附加组(覆盖原附加组,如 -G sudo,docker)
-a #追加附组(保留原组)
-u #修改用户UID (注意文件权限)
-l #修改登陆名(用户名)
-e #设置账号过期时间
-L #锁定用户(禁止登陆)
-U #解锁用户
-p #设置密码
修改用户家目录
usermod -d /new/home/dir -m usernam
修改用户shell
usermode -s /sbin/nologin username
修改用户组
usermod -g groupname username
groupadd newgroup
usermod -g newgroup dev
添加附加组
usermod -aG sudo,docker username #追加组
usermod -G dev,jira username
修改用户UID
usermod -l newname oldname
usermode -d /home/newname -m newname
锁定 & 解锁
usermod -L username
usermod -U username
1.3 userdel
删除用户
userdel [选项] <参数>
参数
-r #删除用户家目录及邮箱池(默认不删除)
-f #强制删除即使用户已经登录(危险!损坏进程)
-Z #同时删除SELinux 用户映射
删除用户保留家目录
userdel username
彻底删除用户及家目录
userdel -r username
强制删除已登陆用户
userdel -rf username
1.4 passwd
passwd [选项] <用户名>
参数
-l #锁定用户
-u #解锁用户
-d #清空密码(允许无密码登陆)
-e #强制下次登陆修改密码
-S #显示密码状态(是否锁定,密码策略等)
-n #设置密码最短使用天数
-x #设置密码最长使用天数
-w #设置密码过期前警告天数
passwd username #更新设置用户密码
passwd -l username #锁定
passwd -u username #解锁
passwd -d username #清空密码
passwd -e username #强制用户下次登陆修改密码
passwd -S username #查看密码状态
2.组管理
2.1 groupadd
创建用户组
groupadd [选项] <参数>
选项
-g #指定组的GID
-r #创建系统组
-f #强制创建
-p #设置组密码
-k #覆盖/etc/login.defs中的默认值
-o #允许共享GID
示例:
groupadd developers #创建名为developers的组(GID 自动分配)
groupadd -g 2001 devops #强制设置GID=2001
groupadd -r system_group #GID 通常 < 1000
groupadd -f admin #若组已存在,则默认跳过
2.2 groupmode
修改现有用户组属性
groupmod [选项] <组名>
选项:
-n #修改组名
-g #修改GID
-o #允许重复GID
-p #设置组密码 几乎不用
示例:
groupmod -n developers dev #将组dev重命名wei developers
groupmod -g 2002 developers #将组的GID设置为2002
2.3 groupdel
删除组
groupdel [选项] <参数>
参数:
-f #强制删除
-h #帮助信息
-R #指定备用/etc 目录(使用户chroot环境)
示例:
groupdel test_group #删除普通用户组
groupdel -f developers #强制删除组
2.4 gpasswd
管理组成员和组密码
gpasswd [选项] <参数>
参数:
-a #添加成员到组
-d #从组移除用户
-M #设置组成员列表
示例:
gpasswd -a user group #添加user到group
#同下
usermod -aG group user
批量添加组成员
gpasswd -M "bob,carol,dave" project_team #批量添加组成员
列出组成员
getnew group devo |cut -d: -f4
Linux用户与组权限管理详解
3307

被折叠的 条评论
为什么被折叠?



