2.Linux的用户与用户组管理
普通用户和超级用户的区别是普通用户无法对系统进行修改,普通用户的UID范围是1000-60000,创建一个普通用户会创建一个同名的组,GID和UID相同,删除用户的时候也会同时删除用户组。
2.1 用户的登入和登出
2.1.1 root用户登录和登出
Linux中的超级用户为root,可以做任何危险操作,root用户的提示符为#,此外root用户的uid和gid都是零。
切换到root用户
*基于环境变量的切换:
su - root
*不基于环境变量的切换:
su root
*登出:
exit
2.1.2 普通用户登录和登出
普通用户提示符都为$
*基于环境变量的切换:
su - 用户名
*不基于环境变量的切换:
su 用户名
*登出:
exit
2.2创建用户
创建用户时会自动生成一个用户组,并且会把创建的用户放入组中,用户组名和用户名一样。
*第一种创建用户:
useradd 用户名//自动在/home/用户名下生成目录
*第二种创建用户:
useradd –d [绝对路径] 用户名 //自己指定路径去进行创建
*第三种创建用户:
adduser 用户名//功能和useradd一样
2.3删除用户
*只删除用户,不删除用户目录:
userdel 用户名
*删除用户的时候同时把用户的配置文件删除掉:
userdel -r 用户名 //如果存在进程就不能够删除
*无论是否有进程,强制删除用户:
userdel -rf 用户名
这个方法一定要注意该用户的目录下是否有重要文件,或者该目录存放的位置。
2.4设置用户密码
*root用户下:
passwd 用户名
*普通用户下:
passwd
*非交互式修改密码:
echo 密码|passwd --stdin 用户名//root用户下
2.5用户组管理
*用户组创建:
groupadd 用户组名
*用户组删除:
groupdel 用户组名
当用户组存在用户时,我们不能够删除用户组,必须先让用户退出组。
*添加用户到用户组:
gpasswd -a 用户名 用户组名
*将用户从用户组中移除:
gpasswd -d 用户名 用户组名
*设置用户组管理员:
gpasswd -A 用户名 要管理的用户组
设置管理员之后除了root以外,组管理员也可以去修改用户组信息
*登录用户组:
newgrp 用户组名
当我发现我需要使用别人的组权限的时候,我可以登陆到别人的组,然后进行操作,但是一旦退出组(exit),那么登陆组就失效了。
*修改用户组密码:
gpasswd 用户组名
2.6查看用户与用户组信息
查看当前用户:
whoami(id)
查看用户当前所在路径:
pwd
*查看用户信息:
cat /etc/passwd
*查看用户组信息:
cat /etc/group
*查看用户密码信息:
cat /etc/shadow
*查看组的密码信息:
cat /etc/gshadow