1. Linux下用户基本概念
Linux 是一个多用户、多任务的操作系统;
不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样;
root 用户 :系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
虚拟用户 :这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
普通真实用户 :这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;
1. 添加用户adduser
- adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。(一般使用 adduser)
- useradd: 需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
需要单独设置用户密码、指定家目录、指定shell等
一般使用adduser
2. 修改密码passwd
根据提示输入密码即可
3. 切换用户su
su 用户名即可
4. 给用户添加root权限sudo
sudo的目的:为非根用户授予根用户的权限;
4.1 将用户添加到sudo组中
4.2 添加用户root权限
- 在root用户下输入:visudo, 找到
root ALL=(ALL) ALL
所在的行, 在下面插入添加你的用户即可,如图所示
输入 :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文件;