Linux(4.Linux用户管理相关命令)

3.1.3 用户管理命令

3.1.3.1 用户介绍

  • 用户区分

超级用户:就是root用户,拥有最高权限,该用户在实际生产环境中尽量不要使用,在系统安装过程中创建root用户,root用户的UID是0;

普通用户:由root用户创建,相关权限由root用户设置,UID从1000开始;

伪用户:系统为一些进程指定具体的用户,该用户不能够真正登录,也没有家目录,UID在1-999之间。

  • 查看UID

$ cat  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
omm:x:1000:1000:omm:/home/omm:/bin/bash
用户名:密码:UID:GID:注释性描述(fullname):用户家目录:用户使用的shell

3.1.3.2 创建用户

  • useradd命令

解释:添加用户
语法:useradd 【用户名】
举例:useradd linux01
备注:
1,其他用户创建新的用户会显示,/usr/sbin/useradd: Permission denied # 权限不足
2,在创建用户同时,会自动创建一个与其名称一样的用户组
查看新创建的用户
[root@bigdata ~]# ls /home/
linux01  omm
[root@bigdata ~]# tail -1 /etc/passwd
linux01:x:1001:1001::/home/linux01:/bin/bash
  • passwd命令

解释:修改密码
语法:passwd 【用户名】
举例:passwd linux01
  • 修改用户密码的方法

方式一、直接使用passwd命令
[root@bigdata ~]# passwd linux01
Changing password for user linux01.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
方式二、echo回显打印字符内容
[root@bigdata ~]# echo 'Wei1102__' | passwd --stdin linux01
Changing password for user linux01.
passwd: all authentication tokens updated successfully.
解释:
| 表示管道,前面是一个命令,后面也是一个命令,把前一个命令的结果作为后一个命名的输入
--stdin 表示输入的意思,一定要加的选项
  • userdel命令

解释:删除用户
语法:userdel 【选项】【用户名】
举例:userdel -r linux01
备注:r 回归删除,彻底删除用户包括用户主目录 
  • 特殊情况处理

第一种情况:删除用户,未删除用户家目录
userdel linux01
强制删除家目录 rm -rf /home/linux01
第二种情况:用户删除失败
[root@bigdata ~]# userdel -r linux01
userdel: user linux01 is currently used by process 2151
使用Ctrl+D快捷键,退出当前用户
[root@bigdata ~]# logout
[linux01@bigdata ~]$ logout
[root@bigdata ~]# userdel -r linux01
[root@bigdata ~]#

user xxx is currently used by process xxx,可能的原因是你创建用户user1之后,使用su命令切换到user1用户下,之后又想删除user1用户,使用su root切换到root用户下,使用userdel user1。出现上述情况的根本原因在于切换回root用户之后,user1还被某个进程占用。

3.1.3.3 切换用户

  • su命令

解释:切换用户
语法:su 【-】【要切换的目标用户】
举例:su - linux01
    su linux01
备注:普通用户切换root用户需要密码,root用户切换root用户需要输入密码

su root 和 su - root的区别

su root切换了root用户身份,但是Shell环境还是普通用户的Shell环境
su - root切换了root用户身份,也切换了root用户的Shell环境

image-20210221123839889

image-20210221124002637

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值