1. Linux下用户基本概念

Linux 是一个多用户、多任务的操作系统;


不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样;

  • root 用户 :系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;

  • 虚拟用户 :这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;

  • 普通真实用户 :这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;

    1. 添加用户adduser

  • adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。(一般使用 adduser)
  • useradd: 需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
    1. 需要单独设置用户密码、指定家目录、指定shell

一般使用adduser

image.png

2. 修改密码passwd

image.png

根据提示输入密码即可

3. 切换用户su

image.png

su 用户名即可

4. 给用户添加root权限sudo

sudo的目的:为非根用户授予根用户的权限;

4.1 将用户添加到sudo组中

image.png

4.2 添加用户root权限

  • 在root用户下输入:visudo, 找到
root    ALL=(ALL)       ALL

所在的行, 在下面插入添加你的用户即可,如图所示

image.png

输入 :wq 保存退出即可

5. 其他高级的用户管理操作

  • 管理用户(user)的工具或命令
useradd    注:添加用户 
adduser    注:添加用户
两个用户创建命令之间的区别
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。(一般使用 adduser)
useradd: 需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
          需要单独设置用户密码、指定家目录、指定shell等
usermod    注:修改已经存在用户的信息 
userdel    注:删除用户
passwd     注:为用户设置密码
chage      注:更改用户密码过期信息 
chfn       注:改变用户备注信息 
chsh       注:更改登录 shell
usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等。即更改passwd和shadow文件中用户的相关属性 
pwcov      注:同步用户从/etc/passwd 到/etc/shadow 
pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger     注:查看用户信息工具
id         注:查看用户的UID、GID及所归属的用户组
chfn       注:更改用户信息工具
su         注:用户切换工具(su 和 su - 这两个切换用户是有区别的。)
           su 命令 和 su - 命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
           而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后。
           pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。
           用echo $PATH命令看一下su 和su - 以后的环境变量有何不同。
           要从当前用户切换到其它用户,推荐使用su - 命令,这样连shell环境也切换了。
sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user)。
           su 是用来切换用户,然后通过切换到的用户来完成相应的任务,
           但是 sudo 能后面直接执行命令,比如 sudo 不需要root 密码就可以执行只有root用户才能执行的命令;
           但是的通过visudo 来编辑/etc/sudoers来实现;
visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit   注:和sudo 功能差不多;
  • 管理用户组(group)的工具或命令
groupadd     注:添加用户组;
groupdel     注:删除用户组;
groupmod     注:修改用户组信息 
newgrp       注:切换到一个新组 
gpasswd      注:管理组和组密码的命令。man gpasswd
groups       注:显示用户所属的用户组
grpck
grpconv      注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv    注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;