用户
前言
本章介绍Linux中用户和组中的关于用户的知识,相对来说,自己在学习用户和组的时候还是相对简单的,但是后面的权限部分可能需要动脑一下,废话不多说,开始今天的用户相关知识。
用户
一、理解 Linux 多用户、多任务的特性
Linux是⼀个真实的、完整的多用户多任务操作系统。多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同⼀时间内登录同⼀个系统执⾏各⾃不同的任务,⽽互不影响。例如:某台Linux服务器上有4个用户,分别是root、www、ftp。在同⼀时间内root用户可能在查看⽇志,管理、维护系统。www用户可能在修改自己的网页程序,因此可知,不同用户具有不同的权限,每个用户在权限允许的范围内完成不同的任务,Linux正是通过这种权限的划分与管理,实现了多用户多任务的运⾏机制。
二、用户分类
-
超级用户(默认管理员)
uid:0
拥有对系统的最高管理权限,可以管理其他用户
-
系统用户
uid:1-999
管理系统服务,不能登录系统
-
普通用户
uid:1000-60000
普通权限,可以登陆系统
三、用户配置文件
用户账户信息文件
- 地址:
/etc/passwd
root:x:0:0:root:/root:/bin/bash
#七个字段 ,以:隔开
[!IMPORTANT]
第一个字段:用户名
第二个字段:密码占位符
第三个字段:UID
第四个字段:GID
第五个字段:用户描述信息
第六个字段:用户家目录
第七个字段:是否可以登录shell(操作系统)
用户账户密码文件
- 地址:
/etc/shadow
lc160:P@ssw0rd123:20048:0:99999:7:::
1.账户名称
2.加密后的密码
3.最近改动密码的日期
4.密码最短有限期
5.密码最长有限期
6.密码过期预警天数
7.密码过期宽恕时间
8.账号失效日期
9.----------
四、添加用户
-
命令:
useradd
-
选项:
[!NOTE]
-u 指定用户的uid
-r 创建系统用户 ##在后面学到服务时会用到
-d 指定用户的家目录
-s 指定用户登录使用的默认shell的选项
useradd -s /bin/bash
可以登陆系统useradd -s/sbin/nologin
不可以登陆系统
-g 指定用户的初始组(主组 #只有一个)
-G 指定用户的附加组(附属组 #可以有多个)
-M 创建用户不需要创建家目录
模板文件:
/etc/skel
#提供用户登录操作系统的环境,规定用户的权限
example1:创建用户u1并且指定uid为2000
[root@192 ~]# useradd -u 2000 u1
[root@192 ~]# id u1
用户id=2000(u1) 组id=2000(u1) 组=2000(u1)
# id命令可以查看用户信息
example2:创建u2用户并指定家目录为/opt
[root@192 ~]# useradd -d /opt/ u2
[root@192 ~]# su - u2
[u2@192 ~]$ pwd
/opt/
[u2@192 ~]$
五、给用户添加密码
-
命令:
passwd
-
描述:更新用户的身份验证令牌
-
语法:
passwd [options] [参数]
#创建用户TB 设置TB的密码 [root@bogon ~]# useradd TB [root@bogon ~]# passwd TB 更改用户 TB 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
-
其它方式:
echo "密码" | passwd --stdin 用户名
[root@192 ~]# useradd -u 2000 u1 [root@192 ~]# id u1 用户id=2000(u1) 组id=2000(u1) 组=2000(u1) [root@192 ~]# echo "123456" | passwd --stdin u1 更改用户 u1 的密码 。 passwd:所有的身份验证令牌已经成功更新。
六、删除用户
-
命令:
userdel
-
选项:-r
[root@bogon ~]# userdel -r TB
#不加选项,不删除关于这个用户的所有信息(自己可以做下实验)
七、修改用户
-
命令:
usermod
-
语法:
usermod [options] [参数]
-
选项:
[!NOTE]
-u:修改用户的UID
-g:修改用户的GID
-G:修改用户的附加组
-d:修改用户的家目录
-s:修改用户默认的shell
example:修改u1的uid为3000
[root@192 ~]# usermod -u 3000 u1 [root@192 ~]# id u1 用户id=3000(u1) 组id=2000(u1) 组=2000(u1)
小实验:用VIM创建用户
1.创建用户
-
命令:
vim /etc/passwd
[root@localhost ~]# vim /etc/passwd tby:x:1004:1004::/home/tby/:/bin/bash #在最后一行添加
2.切换用户
-
命令:
su - tby
[root@localhost ~]# su - tby su: 警告:无法更改到 /home/tby/ 目录: 没有那个文件或目录 /usr/bin/id: cannot find name for group ID 1004
3.创建家目录
-
命令:
mkdir /home/tby
-
命令:
cp -a /etc/skel/. /home/tby
[root@localhost ~]# mkdir /home/tby [root@localhost ~]# cp -a /etc/skel/. /home/tby/ ####/etc/skel 模板文件
4.查看用户
-
命令:
id
[root@localhost ~]# id tby uid=1004(tby) gid=1004 组=1004 [root@localhost ~]# id admin uid=1000(admin) gid=1000(admin) 组=1000(admin)
5.创建组
-
命令:vim /etc/group
tby:x:1004:
6.切换用户
[root@localhost ~]# su tby
[tby@bogon root]$
#可以正常登录
结语
最后给大家放几道题好了,大家可以把自己答案写在评论区,来检验自己的学习成果
1、创建u1用户,指定UID为1050,并为该用户设置密码
2、创建u2用户,设置其不能登录操作系统
3、创建u3用户,指定其家目录为/mnt/u3
4、将u1用户改名为s1
5、创建用户u1,指定其UID为2023
6、创建用户u2,不生成家目录