Linux学习笔记——用户管理


创建用户

在Linux中创建用户可以使用两种指令 adduseruseradd,其区别可参考这篇文章

在 ubuntu 中使用 adduser 会更方便地创建用户。

语法

sudo adduser username

示例


其需要使用 root 用户才能创建用户,需要输入当前用户的密码,如果未指定组,会自动创建同名组并将其添加到组中,自动创建家目录。然后要求输入该用户的密码与相关信息。

useradd 则需要指定一系列信息。
语法

useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]

useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]

参数说明

  • -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
  • -d<登入目录>  指定用户登入时的起始目录。
  • -D 变更预设值.
  • -e<有效期限> 指定帐号的有效期限。
  • -f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。
  • -g<群组> 指定用户所属的群组。
  • -G<群组> 指定用户所属的附加群组。
  • -m 自动建立用户的登入目录。
  • -M 不要自动建立用户的登入目录。
  • -n 取消建立以用户名称为名的群组。
  • -r 建立系统帐号。
  • -s<shell> 指定用户登入后所使用的shell。
  • -u<uid> 指定用户ID。

示例

  • 创建test2用户,指定家目录为/home/test2,如果未有家目录则自动创建家目录 /home/test2,指定shell为/bin/bash

    注意如果为有指定的组,需要先自行创建改组。

注意此时是 test2 用户是没有密码的,需要手动添加密码,否则无法登录用户。可以使用 passwd 设置密码,passwd 具体可看这篇文章

添加用户之后,会在 /etc/passwd 中添加一个记录

/etc/passwd 文件内容非常规律,每行记录对应一个用户

这里的密码 x 并不是真正的密码,密码存放在 /etc/shadow 中,需要 root 用户才能查看

/etc/passwd 文件一样,文件中每行代表一个用户,同样使用 : 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

切换用户

su(英文全拼:switch user) 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

语法

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
  • -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  • -m -p 或 --preserve-environment 执行 su 时不改变环境变数
  • -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
  • --help 显示说明文件
  • --version 显示版本资讯
  • - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  • USER 欲变更的使用者帐号
  • ARG 传入新的 shell 参数

示例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者

su -c ls root

变更帐号为 root 并传入 -f 参数给新执行的 shell

su root -f

变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)

su - clsung

切换用户

hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su root //切换到root用户
密码: 
root@runoob.com:/home/hnlinux# whoami 
root
root@runoob.com:/home/hnlinux# pwd
/home/hnlinux

切换用户,改变环境变量

hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su - root //切换到root用户
密码: 
root@runoob.com:/home/hnlinux# whoami 
root
root@runoob.com:/home/hnlinux# pwd //显示当前目录
/root

切换用户后可以使用 exit 命令切换回来


删除用户

Linux userdel 命令用于删除用户账号。userdel 可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
语法

userdel [-r][用户帐号]

参数说明

  • r 删除用户登入目录以及目录中所有文件

实例

  • 删除用户账号及工作目录
sudo userdel -r test2
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值