Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的人,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权。所以一般只作管理用,非特权用户可以通过SU或SUDO程序来临时获得特权
linux 用户分为三类
超级用户:root ,root用户对系统有最高的管理权限 用户ID=0
普通用户:系统用户 centOS7,8中用户ID1-999,CentOS6中的用户ID是1-499
本地用户 centOS7,8中用户ID1000+,CentOS6中的用户ID是500+
虚拟用户:不是用来登陆的,主要用于维持服务的正常运行,比如:apache , oracle , ftp等
命令:[root@localhost ~]# ll
严格来说,ll 并不是linux下一个基本的命令,它实际上是ls -l的一个简便用法。
一对一:一个用户可以存在一个组中; 一对多:一个用户可以存在多个组中
多对一:多个用户可以存在一个组中; 多对多:多个用户可以存在多个组中
用 man 命令 来查看手册 ,可以看到是用户身份验证令牌,但注意,这不是密码文件!
命令:[root@localhost ~]# man passwd
用 vim 查看下这个文件
[root@localhost ~]# useradd laobai
查看 /etc/passwd 文件最后一行
除用户名外,其他都是默认生成,当然,也可以指定
添加另外一个命令 是 adduser,这两个命令是一样的
查看下这个命令:[root@localhost ~]# which adduser
用 ll 命令查看 详细信息:[root@localhost ~]# ll /usr/sbin/adduser
可以看到 adduser 是 user 的软连接
新建一个名叫江户川柯南的用户
命令: [root@localhost ~]# useradd jiangHuChuanKeNan -u 1010
新命令:id 【用户名】
id命令用于显示用户的ID,以及所属群组的ID。id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
不指定组的话。默认创建和UID相同的GID,以及和用户名相同的组名
创建组 groupadd [【参数】【组名】
创建一个少年侦探团用户组
命令:[root@localhost ~]# groupadd shaoNianZhenTanTuan
创建灰原哀的用户并加入少年侦探团
命令:[root@localhost ~]# useradd huiYuanAi -g shaoNianZhenTanTuan
root用户的家目录在 /root,其他用户的家目录若不指定,则在/home/[用户名],当然也可以指定
创建 小岛元太 用户,并加入 少年侦探团用户组,然后指定家目录为 /opt/manYuFan
命令:[root@localhost ~]# useradd xiaoDaoYuanTai -g shaoNianZhenTanTuan -d /opt/manYuFan
接下来去元太的家目录看看有什么文件
好像并没有什么,但是 ls 不加参数是看不到隐藏文件的,就像在Windows中C盘有很多文件是隐藏的,不勾选隐藏文件可见是看不到的。在linux中 以点开头的文件是隐藏文件 查所有文件加参数 -a
命令:[root@localhost manYuFan]# ls -a
创建 吉田步美 用户 属于少年侦探团组,柯南组,root组
查看 /etc/group
删除用户命令是 userdel ,只有一个参数 -r 它的作用是删除用户的同时,删掉用户的家目录和/var/mail下的目录,尝试一下,那就删掉我自己吧
命令:[root@localhost ~]# userdel -r laobai
内容 | 名称 | 解释 |
---|---|---|
root | name | 登录名称,就是用户名 |
$6$fiL…1cHyH8/q7gt1 | passwd | 已加密部分密码,分为三部分.第一部分表示的是加密方法,$1表示 MD5 ,$5表示SHA-256 ,$6表示SHA-256,第二部分是用于加密密钥,第三部分是已经加密过的密码 |
0 | minage | 不能修改密码的最少天数,0表示随意修改 |
99999 | maxage | 密码过期天数,最多多少天后必须修改密码 |
7 | warning | 密码即将到期警告,7表示提前七天警告,0表示警告 |
有两种方式,交互式和非交互式,根据个人喜好来
交互式
给灰原哀添加密码 87654321,回报密码过于简单的警告,可以无视他,但是工作中或者实际生产中,请严格设计密码
命令:[root@localhost ~]# passwd huiYuanAi
非交互式
给 小岛元太 添加密码 87654321
命令 :[root@localhost ~]# echo 87654321 | passwd --stdin xiaoDaoYuanTai
两个用户的密码都是87654321,他们在密码文件里的密码一样么?
有图有真相,不同的,加密密钥不同,加密密码当然不同,不过他们解码后都是87654321
命令 :[root@localhost ~]# vim /etc/default/useradd
命令 :[root@localhost ~]# vim /etc/login.defs
内容太多,注释多,空行太多,想简单看,新命令 egrep 过滤命令
用法 :egrep 【参数】【表达式】【操作对象】
表达式 | 介绍 |
---|---|
^ | 锚定行的开始 如:’^#'匹配所有以#开头的行。 |
$ | 锚定行的结束 如:'A ′ 匹 配 所 有 以 A 结 尾 的 行 。 ′ '匹配所有以A结尾的行。' ′匹配所有以A结尾的行。′’匹配所有空行 |
. | 匹配一个非换行符的字符 如:'Lin.x’匹配Lin后接一个任意字符,然后是x。 |
* | 匹配零个或多个先前字符 如:’*Linux’匹配所有一个或多个空格后紧跟Linux的行。 |
参数 | 介绍 |
---|---|
-n | 打印行号 |
-v | 不包括,如 -v ‘^#’ 不匹配#开头的内容,显示其他内容 |
例:查看 /etc/login.defs 不显示空行和注释,并显示行号
命令 :[root@localhost ~]# egrep -n -v ‘#|$’ /etc/login.defs
修改用户信息使用 usermod 命令
例如 修改 吉田步美 的 UID 为 2000
命令 : [root@localhost ~]# usermod -u 2000 jiTianBuMei
其他参数
参数 | 作用 |
---|---|
-u | 修改用户UID |
-d | 修改用户家目录 |
-g | 修改用户起始组 |
-G | 修改用户附加组 |
-s | 修改用户 Shell |
-L | 锁定 |
Linux命令很多,参数也非常多,比如上一个命令egrep,参数和表达式不少,这里不方便一一列举,大家也不可能一下全记住,所以只列举常用的,其余的在使用中查询资料,用的多了,自然也就记住了