[TOC]
基本流程
预备步骤(新建分区并挂载)
出于文件安全的考虑, 考虑每个用户单独一个分区,所以需要新建分区并挂载
# 在sdb上新建分区
fdisk /dev/sdb
# 输入n新建分区,输入l表示新建逻辑分区,确认分区大小后输入w保存
# 注意! 扩展分区不能直接使用
# 重载分区表
partprobe
# 新建目录
mkdir /home/user0
# 格式化分区
mkfs -t ext4 -c /dev/sdb(n)
# 或者
mkfs.ext4 /dev/sdb(n)
# 挂载目录
mount /dev/sdb(n) /home/user0
新建账户
# 新建用户
useradd -d /mnt/hdd2/user0 -m -s /bin/bash user0
# 设置密码
passwd user0
# 添加用户到sudo组, 对不需要给sudo权限的用户不需要此操作
usermod -aG sudo user0
# 修改主目录权限
chown user0:user0 /home/user0
修改挂载
为了让账户挂载在重启后仍可用,需要配置/etc/fstab 文件
# 修改/etc/fstab 文件
# 查看UUID
blkid /dev/sda5
# 修改fstab文件
vim /etc/fstab
# 第一项可以是UUID 也可以是/dev/sd(..)
blkid的结果
/dev/sda1: UUID="3149de15-df74-45b2-af47-54f3d2b97f70" TYPE="ext4" PARTUUID="96f25a32-01"
新建 .bashrc
由于文件夹已存在,所以并不会新建配置文件.
# 切换到新建账户
su user0
# 添加.bashrc文件
# 先复制默认.bashrc
cp /etc/skel/.bashrc ~/
# 创建.profile文件
vim ~/.profile
# 复制以下文件到.profile
> # ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n
# 重载配置文件
source ~/.profile
用户管理的其他操作
添加用户
adduser
adduser 可以直接新建一个账户,基本上一路回车加OK就行,不需要怎么自主配置
useradd
对于要单独设置家目录位置的情况,useradd 就可以用,它需要单独设置各种参数,
例子
# 新建账户 user0
# 主目录在 '/mnt/hdd2/user0'
# 启用了默认配置
# 解释器为/bin/bash
useradd -d /mnt/hdd2/user0 -m -s /bin/bash user0
# 设置密码
passwd user0
useradd的参数说明
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-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 创建一个系统账户
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
设置用户组
# 另一种设置shell的方式,其中user0是用户名,-s 来为用户指定shell;
usermod -s /bin/bash user0
# 添加user0到到sudo组,也就是说user0可以用sudo命令
usermod -aG sudo user0
# 或
gpasswd –a user0 sudo
root@PJX:/home# usermod --help
Usage: usermod [options] LOGIN
Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the
new location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-R, --root CHROOT_DIR directory to chroot into
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account
-v, --add-subuids FIRST-LAST add range of subordinate uids
-V, --del-subuids FIRST-LAST remove range of subordinate uids
-w, --add-subgids FIRST-LAST add range of subordinate gids
-W, --del-subgids FIRST-LAST remove range of subordinate gids
-Z, --selinux-user SEUSER new SELinux user mapping for the user account
删除用户
删除用户时需要登出用户才可以
# 删除用户user0
userdel user0
参考资料
https://blog.csdn.net/jamesdodo/article/details/81742618
网友评论