文章目录
1、了解用户和用户组的概念
2、可以添加useradd和删掉userdel用户,更改用户密码passwd
3、可以添加groupadd和删掉groupdel用户组
4、了解管线符|的作用
5、会使用ifconfig查看IP地址
6、了解网卡配置文件的位置和常见配置项
7、知道常用的SSH顾客端联接工具
8、会使用mobaxterm联接到linux
一、用户与用户组的概念1、为什么要做用户与用户组管理
用户和用户组管理,就是添加用户和用户组,针对每位用户设置不同的密码。
问题:你们平常的电脑笔记本,会设置多个帐户吗?为何?
服务器要添加多帐户的作用
针对不同用户分配不同的权限,不同权限可以限制用户可以访问到的系统资源
提升系统的安全性
帮助系统管理员对使用系统的用户进行跟踪
2、Linux的用户及用户组①Linux的多用户多任务
Linux系统是一个多用户多任务的操作系统,所谓多用户多任务,是指支持多个用户在同一时间内登录,不同用户可以执行不同的任务,而且互不影响。
诸如:
小明所在的运维团队一共有四个人,分别有大毛,二毛,三毛,大毛负责网站,他的帐户叫wangzhan,二毛负责数据库,他的帐户叫shujuku。
在同一时间,大毛和二毛都可以登陆这台服务器,大毛可以查询网站的日志,二毛可以处理数据库的问题,她们之间互不影响。
因为我们设置了权限,大毛只能访问网站的日志,难以访问数据库;二毛可以处理数据库问题linux用户和用户组管理,而且不能访问网站的日志。这就实现了我们的多用户多任务的运行机制。
②什么是用户
任何一个运维人员想要登陆服务器,都必须先申请一个帐号,之后以这个帐号的身分步入系统,如同我们上面说的wangzhan这个帐号。
每位帐号都拥有一个惟一的用户名和各自的密码,用户在登入时输入正确的用户名和密码后,就才能步入系统,默认会步入到这个用户自己的主目录
③什么是用户组
用户组是具有相同特征用户的逻辑集合,简单来说,就是具有相同权限的用户的集合。
诸如:人事部有20名职工,她们都须要访问一个文件夹,假如我们给这20个用户的帐号分别设置权限linux用户和用户组管理,这样太麻烦了,所以我们会构建一个用户组叫HR,对这个组设置权限,将这20个用户加入这个组就可以了。
④用户和用户组的关系
A一个用户可以属于一个用户组,具有此用户组的权限
HR组可以访问/hrfile的文件夹,当user01属于HR组,这么user01就可以访问/hrfile这个文件夹
B一个用户可以属于多个用户组,此时具有多个组的共同权限
HR可以访问/hrfile的文件夹,运维可以访问/yunweifile的文件夹,当user01同时属于HR组和运维组,这么user01可以访问/hrfile和/yunweifile
C多个用户可以属于一个用户组,多个用户都具有此用户组的权限。
主组:指用户创建时默认所属的组,每位用户的主组只能有一个。创建用户时会同时创建一个和用户名相同的组
诸如:添加用户xiaoming,在构建用户xiaoming的同时,还会构建xiaoming组作为xiaoming用户的初始组。
附加组:每位用户只能有一个主组,除主组外,用户再加入其他的用户组,这种用户组就是这个用户的附加组。
每位用户的附加组可以有多个,并且用户可以有这种附加组的权限。
一般用户和用户组的管理,包含以下工作:
☆用户组的管理
☆用户帐号的添加、删除、修改以及用户密码的管理
注意三个文件:
☆/etc/passwd用户配置文件,储存用户的基本信息
☆/etc/group储存用户组的信息
☆/etc/shadow储存用户的密码信息
二、用户和用户组管理1、用户组管理
用户组的管理包括用户组的添加、删除和更改。
为何要构建用户组
上面我们说过,人事部有20名职工,我们要构建一个组,叫hr,这样就不用分别给20个职工设置权限了。
①用户组添加
命令:groupadd
作用:添加组
句型:#groupadd[参数选项选项值]用户组名
选项:-g:设置用户组ID数字,倘若不指定,则默认从1000以后递增(1-999系统组)
用法一:groupadd 组名
示例代码:
#groupadd hr
含义:新建一个组叫做hr
提示:linux下我们执行完命令,有时侯会没有任何提示,直接回到#提示符,这些状态表明,命令执行成功,没有报错。“没有消息就是最好的消息”
储存用户组信息的文件:/etc/group
使用cat命令,查看/etc/group文件,我们可以看见如右图所示:
/etc/group文件结构:
wheel : x : 10 : itheima
用户组名 : 密码(占位符) : 用户组ID : 这个组包含的用户(附属组)
非常说明:
1)密码位x代表占位符,用户组可以设置密码,并且大部份情况下不须要设置
2)组内用户名:表示附加组是该组的用户名称。
比如:
wheel组(组ID10),是itheima帐户的附加组,所以itheima这个帐户redhat linux下载,就显示在这儿。
itheima组(组ID1000),是itheima帐户的主组,所以itheima这个帐户就不显示在最后。
3)wheel组
只有在wheel组中的普通用户,才可以通过su命令切换到root帐户,默认所有普通用户都能切换到root,只要晓得root密码,换句话说,默认此配置不生效
②用户组更改
命令:groupmod
句型:#groupmod[选项选项值]用户组名
选项:-g:gid简写,设置一个自定义的用户组ID数字
-n:name简写,设置新的用户组的名称
示例代码:更改hr用户组,将组ID改成1100,将名称改为bjhr
用法一:groupmod -g 新的组ID -n 新的组ID 原有组ID
示例代码:
#groupmod -g 1100 -n bjhr hr
含义:将hr组的组ID改成1100,组名改成bjhr
③用户组删掉
命令:groupdel
句型:#groupdel用户组名
案例:删掉bjhr组
用法一:groupdel 组名
示例代码:
#groupdel bjhr
含义:将bjhr组删除
2、用户管理
用户的管理涉及用户的添加、删除和更改。
与用户相关的文件:/etc/passwd
①useradd添加用户
命令:useradd
作用:添加用户
句型:#useradd[选项选项的值]…用户名
选项:-g:表示指定用户的用房主(主要)组,选项值可以是用户组ID,也可以是组名
-G:表示指定用户的用户附加(额外)组,选项值可以是用户组ID,也可以是组名
-u:uid,用户的id(用户的标示符),系统默认会从500/或1000以后按次序分配uid,假若不想使用系统分配的,可以通过该选项自定义【类似于腾讯的自选靓号情况】
-c:comment,添加注释(选择是否添加)
-s:指定用户登录后所使用的shell类库,默认/bin/bash【专门的接待员】,倘若不想让其登陆,则可以设置为/sbin/nologin(重要)
-d:指定用户登录时的启始目录(家目录位置)
-n:取消构建以用户名称为名的群组(了解)
当我新建一个帐户叫user01,同时,系统会手动构建一个组也叫user01
用法一:useradd 用户名
示例代码:
#useradd zhangsan
含义:创建用户zhangsan,不带任何选项。
注意:不用任何参数,创建用户,系统会默认执行以下操作:
1)在/etc/passwd文件中创建一行关于zhangsan用户的数据
2)在/etc/shadow文件中新增了一行关于zhangsan密码的数据
3)在/etc/group文件中创建一行与用户名相同的组,比如zhangsan
4)在/etc/gshadow文件中新增一行与新增群组相关的密码信息,比如zhangsan
5)手动创建用户的家目录,默认在/home下,与用户名同名
验证是否成功:
1)使用tail文件查看/etc/passwd文件
2)使用tail文件查看/etc/group文件
3)验证是否存在家目录(在Centos下创建好用户以后急剧形成一个同名家目录)
②etc/passwd储存用户信息的文件
使用vim命令打开/etc/passwd文件,如右图所示:
root : x : 0 : 0 : root : /root : /bin/bash
用户名 : 密码 : 用户ID : 用户组ID : 注释 : 家目录 : 解释器shell
用户名:登陆linux时使用的用户名
密码:此密码位置通常情况都是"x",表示密码的占位,真实密码储存在/etc/shadow
用户ID:用户的辨识符,每位用户都有惟一的UID【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做哪些用的;【-c】
家目录:用户登入步入系统以后默认的位置;【-d】
类库shell:等待用户步入系统以后,用户输入指令然后,该例程会搜集用户输入的指令,转换成机器语言,传递给内核处理;假如类库是==/bin/bash表示用户可以登陆到系统==,/sbin/nologin表示该用户不能登入到系统【-s】
下边我们来看一下对于useradd参数的使用
企业场景1:
公司新职工lisi,属于gzhr部门,用户ID1200,不容许登陆系统
创建用户lisi,默认lisi属于自己同名的主组,让lisi属于附加组gzhr,用户ID1200,注释为"hruserlisi",协程为/sbin/nologin
用法二:useradd -G 附加组名 -u 用户ID -s /sbin/nologin -c "shuser lisi" 用户名
示例代码:
#useradd -G gzhr -u 1200 -s /sbin/nologin -c "gzuser lisi" lisi
含义:创建用户lisi,不带任何选项。
gzhr行的含义:在gzhr的组里(组id 是1002)有一个组内用户lisi(lisi 的附加组就是1002,附加组的名字是gzhr)。
如果需要为一个用户指定多个附加组,只需要将多个附加组的id 通过英文逗号“,”分割即可。
例如-G 500,501,502
① 主组只能有1 个(类似于亲生父母只有一对),附加组可以多个,也可以没有附加组(类似于认干爹干妈,可以有也可以没有,也可以有多个)
② 主组必须有
③ 后期将权限管理的时候,关于文档的属组指的是主组(了解)
③id查看用户信息
命令:id
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令倘若不指定用户则默认当前用户。
句型1:#id默认显示当前执行该命令的用户的基本信息
句型2:#id用户名,显示指定用户的基本信息
怎么验证以上信息是否正确?
答:验证用户信息:通过文件/etc/passwd,验证用户组信息:通过文件/etc/group
④usermod更改用户
命令:usermod(usermodify)
句型:#usermod[选项选项的值]…用户名
作用:更改用户的各类属性
选项:-g:表示指定用户的用房主组,选项的值可以是用户组的ID,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的ID,也可以是组名
-u:uid,用户的id(用户的标示符),系统默认会从500以后按次序分配uid,倘若不想使用系统分配的,可以通过该选项自定义【类似于腾讯的自选靓号情况】
-L:锁定用户,锁定后用户难以登录系统lock
-U:解锁用户unlock
-c:更改用户账号的备注文字
-d:更改用户登录时的目录
-s:更改用户登录后所使用的shell
企业场景2:
公司职工wangwu,属于shhr部门,如今要休丧假,产周末间,暂时停止她登录笔记本的权限,同时原先属于gzhr部门的职工lisi,负责wangwu的工作,所以,须要把lisi加入到shhr的组,同时,更改lisi的帐户注释为“gzhrshhruser”
对于wangwu用户,我们要执行锁定和解锁操作
对于lisi用户,我们要将lisi加入到shhr的附加组,同时更改lisi帐户的注释
用法一:usermod -L 王五账户名
示例代码:
#usermod -L wangwu
含义:将王五账户暂时锁定
用法二:usermod -U 王五账户名
示例代码:
#usermod -U wangwu
含义:将王五账户解锁
用法三:usermod -G 组名 -c “注释内容” 李四用户账号
示例代码:
#usermod -G shhr -c "shhr user" lisi
含义:将李四的账户加入shhr组,并修改注释内容为shhr user
⑤passwd更改用户密码
Linux不容许没有密码的用户登入到系统,因而后面创建的用户目前都处于锁定状态,须要设置密码以后就能登入计算机。
命令:passwd
句型:#passwd用户名【如果不指定用户名则更改自己的密码】
作用:更改用户密码
企业场景3:
王五丧假休完回到公司下班,须要将王五的帐户解锁,在使用usermod-U解锁时,我们看见一个错误信息如下:
usermod:unlockingtheuser’spasswordwouldresultinapasswordlessaccount.
解锁这个帐户,将造成一个没有密码的帐户,由于之前王五的帐户没有密码。这时侯,我们就须要使用passwd命令,给王五的帐户设置一个密码
用法一:passwd 账户名
示例代码:
#passwd wangwu
含义:为wangwu账户设置密码
注意:
当密码过于简单时,系统会提示这是一个不好的密码,因为它太简单了,但是我们仍然可以坚持使用这个密码。
在我们输入密码时,屏幕不会有任何显示。
密码需要输入两次,请确保两次输入的密码是一样的。
示例代码:设置wangwu的用户密码
⑥认识/etc/shadow文件
因为/etc/passwd文件准许所有用户读取,易造成用户密码泄漏,因而Linux系统将用户的密码信息从/etc/passwd文件中分离下来,并单独放在了shadow文件中。
/etc/shadow文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
与用户密码相关的文件:/etc/shadow
为用户设置密码以后,会手动在/etc/shadow文件中进行彰显,使用vim编辑器打开:
第一列为用户名linux命令详解词典,比如zhangsan
旁边是加密后的密码,就是$开头的字符串
假如显示为!!,则表示这个用户没有设置密码。
由以上截图所知,zhangsan,lisi是没有设置密码的。wangwu我们刚才设置了密码,所以显示为一个加密的字符创
任务:新建一个帐户叫ityunwei
新建第二个帐户叫shichang
给ityunwei帐户设置一个密码
步入shadow文件,观察两个帐户的区别
⑦su切换用户
在设置用户密码以后就可以使用此帐号进行登陆系统了,若果系统处于已登陆状态,则可以使用su命令进行切换用户。
为了系统安全,企业中一般不会容许root用户直接登陆计算机,而且工作须要,我们又须要使用root权限,这时侯,我们就可以先使用一个普通用户登陆计算机,再通过su命令切换到root权限。
命令:su
句型:#su[-]帐号
作用:切换用户
用法一:su 用户名
示例代码:
#su root
含义:切换到root权限
注意:
a. 从root 往普通用户切换不需要密码,但是反之则需要root 密码;
b. 切换用户之后前后的工作路径是不变的,添加了选项[-]会自动切换到用户的家;
c. 普通用户没有办法访问root 用户家目录,但是反之则可以;
启用wheel组设置(了解)
步骤1:使用vim编辑器打开/etc/pam.d/su文件
步骤2:编辑文件,除去authrequiredpam_wheel.souse_uid这一行后面的#,使这一行配置生效
步骤3:下边是去除#后的状态
步骤4:保存退出:wq
这时,只有在wheel组内的用户才可以su到root
⑧userdel删掉用户
命令:userdel
句型:#userdel选项用户名
作用:删掉帐户及其对应家目录
选项:-r:表示删掉用户的同时,删掉其家目录/home下的对应文件夹
注意:早已登陆的wangwu用户删掉的时侯提示删掉失败,而且没有登陆的lisi用户可以正常删掉,那这个时侯想删掉wangwu如何办呢?
解决办法:简单粗鲁,kill对应用户的全部进程
提示:所有跟用户操作的命令(除passwd外,只能更改自己的密码,即不指定用户名)只
有root超级管理员有权限执行。
备注:也可以在登陆须要删掉的用户以后,按下快捷键“ctrl+d”进行对当前用户的注销,随即退回到上一个用户(root)此时就可以对须要删掉的用户进行删掉操作。
删掉帐号=>删掉家=>删掉所属组(主组)
三、管道1、管道符
管线符:|
作用:管线是一种通讯机制,一般用于进程间的通讯。它表现下来的方式将上面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。
2、过滤功能
# ls / | grep “y”
grep 指令用于“过滤”
grep 语法:grep 选项 文件路径/内容
针对上面这个命令说明:
① 以管道作为分界线,前面的命令有个输出,后面需要先输入(缺少查找范围),然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入。
为了便于理解,上述的指令变相实现可以如下:
# ls / > xxx.txt 将ls /的结果保存到xxx.txt文件中
# grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行
② grep 指令:主要用于过滤
语法:# grep [选项] “搜索关键词” 搜索范围
示例代码:获取/根目录下包含关键字"y"的文件信息
#ll / |grep y
3、特殊功能
通过管路的操作方式来实现less的等价疗效(了解)
比如:源指令是"lessxxx.txt"使用管线的话则可以写成:catxxx.txt|less
之前可以通过less命令查看一个文件,可以#less路径
现今通过管路还可以:#cat路径|less
示例代码:
4、统计功能
问题:请使用学过的命令,来统计某个目录下的文档的总个数?
示例代码:使用Linux命令统计“/”下的文档的个数
示例代码:用户在计算机中有一个配置文件(/etc/passwd),通常情况下,一个用户会占用一行配置,请你使用现学的管线统计当前计算机中一共有多少个用户个信息
5、xargs命令扩充
问题:为何须要xargs命令?
答:之所以能用到这个命令,关键是因为好多命令不支持|管线来传递参数,而日常工作中有有这个必要,所以就有了xargs命令。
首先来看一个命令:
find /etc -name "*.conf" | ls -l (错误)
find /etc -name "*.conf" | xargs ls -l (正确)
xargs非常说明:
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
示例代码:多行输入单行输出
示例代码:-n选项多行输出
xargs作为思索题
四、网络配置1、ifconfig查看网路信息
命令:ifconfig
作用:获取网卡的相关信息
句型:#ifconfig
用法一:ifconfig
示例代码:
#ifconfig
含义:查看网络信息
注意,我们发现当前ens33看不到IP地址信息,那是因为网卡默认不启动
自动启动网卡联接,我们暂时使用图形化的形式,点击屏幕右上角电源按键,在弹出菜单选择Connect
点击connect以后,我们会听到显示已连(Connected)
再度使用ifconfig命令,查看网路信息
192.168.81.130
ens33:是默认的网卡
lo(loop,循环):表示回环网卡
virbr0:虚拟网路插口,由于俺们使用vmware虚拟机安装Centos
2、网卡配置文件位置
Linux的网卡配置文件,储存在/etc/sysconfig/network-scripts目录下,文件名格式为ifcfg-网卡名称
我们可以看见,ifconfig命令中显示我们的网卡称作ens33,对应的,这儿就有一个ifcfg-ens33的文件
2、配置文件解读
使用cat命令,查看ifcfg-ens33文件
3、systemctl查看网卡状态
命令:systemctl
句型:#systemctlstatusnetwork
用法一:systemctl status network
示例代码:
#systemctl status network
含义:查看网络状态,active表示启用的,活动的。
4、systemctl启动/重启/停止网卡
命令:systemctl
句型:#systemctlstart/stop/restartnetwork
参数:start启动,restart重启,stop停止
用法一:systemctl start/stop/restart network
示例代码:
#systemctl stop network
含义:停止网卡服务
#systemctl start network
含义:开启网卡服务
#systemctl restart network
含义:重启网卡服务
五、使用顾客端软件联接linux1、什么是SSH
简单说,SSH是一种网路合同,用于计算机之间的加密登陆。
2、常用SSH终端工具SecureCRT
官网:
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登陆UNIX或Linux服务器主机的软件。
XShell
官网:
Xshell是一个强悍的安全终端模拟软件,它支持SSH1,SSH2,以及MicrosoftWindows平台的TELNET合同。Xshell通过互联网到远程主机的安全联接以及它创新性的设计和特色帮助用户在复杂的网路环境中享受她们的工作。
Putty
官网:
PuTTY为一开放源代码软件,主要由SimonTatham维护,使用MITlicence授权。
MobaXterm
官网:
3、使用MobaXterm联接linux
步骤1:打开软件,点击session
步骤2:在弹出窗口中选择ssh,在remotehost对话框输入要联接的服务器IP地址
步骤3:输入用户名和密码,注意输入密码的时侯,屏幕是没有反应的。
步骤4:输入用户密码后回车,见到如下界面,表示早已成功联接