1.介绍:
linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
在实际项目中,由于要涉及到多个部门共同参与,这时需要为每位开发人员创建一个用户,为了方便给不同的人分配不同的权限,可以将用户分为不同的组,之后对个组分配权限就很方便了。
对于创建的每一个用户,都会在/home文件夹下默认创建一个以用户名命名的文件夹,用于该用户的文件的存放。
2.添加用户:
useradd 用户名
useradd -d 指定目录 新的用户名
useradd -g 用户组 用户名
3.修改密码:
passwd 用户名
4.删除用户:
userdel 用户名
userdel -r 用户名(慎用)
5.查询用户信息:
id 用户名
6.切换用户:
su 要切换的用户名
su - [没有带用户名,则默认切换到root用户]
7.查看当前登录的用户:
whoami
8.用户组操作:
1) 创建令孤冲、张无忌、任盈盈 账号
useradd lhc
useradd zwj
useradd ryy
2)分别给设置密码
passwd lhc
passwd zwj
passwd ryy
3)创建华山派 、武当、魔教 三个组
groupadd hs_g
groupadd wd_g
groupadd mj_g
4)令孤冲归到华山派,张无忌-》武当, 任盈盈-》魔教
usermod -g hs_g lhc
usermod -g wd_g zwj
usermod -g mj_g ryy
5)令孤冲搬家,搬到衡山
mkdir /home/hengshan
usermod -d /home/hengshan lhc
6)令孤冲叛变,投入魔教
usermod -g mj_g lhc
7)把张无忌所在的武当组删除
userdel zwj
groupdel wd_g
8)最后看一下/etc/passwd 和 、/etc/shadow的变化
tail -n 15 /etc/passwd
9.查看系统上所有的用户的三种方法
1)使用 /etc/passwd文件
使用任何一个如cat/more/less/tail/head文件操作命令打印linux系统上创建的用户列表。
/etc/passwd 是一个文本文件,其中包含了登录linux系统所必需的每个用户的信息,它保存用户的有用信息,如用户名/密码/等
/etc/passwd 文件将每个用户的详细信息写为一行,其中包含七个字段,每个字段之间用:分隔。
还可以使用awk/cut命令仅打印出linux系统中所有用户的用户名列表。
awk -F ':'{print $1}' /etc/passwd
cut -d: -f1 /etc/passwd
2)使用getent命令
getent命令显示name service switch库支持的数据库中的条目
getent passwd
3)使用compgen命令
compgen是bask内置命令,它将显示所有可用的命令,别名和函数。
compge -u
10.新增组
groupadd 组名
11.删除组
groupdel 组名
10.修改用户的组/初始目录
usermod -g 新的组名 用户名
usermod -d 目录名 用户名
12.查询用户在哪个组
id user_name
groups user_name
13.用户和组的相关文件
1)/etc/passwd文件
用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
2) /etc/shadow 口令配置文件
3)/etc/group文件
group的配置文件,记录linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表