ubuntu 新建账户

2019-08-19  本文已影响0人  命运牵绊

[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

https://www.cnblogs.com/sddai/p/10644870.html

https://blog.csdn.net/taolusi/article/details/81304057

上一篇 下一篇

猜你喜欢

热点阅读