Linux用户管理与远程管理

news2024/11/18 14:38:12

一、用户管理

1、回顾用户组管理

groupadd :组添加

groupmod:组修改

groupdel:组删除

与用户组相关的文件/etc/group,一共拥有4列

itheima:x:1000:
1-组名称
2-组密码
3-组编号
4-组内用户信息(这个组必须是这个用户的附属组或附加组)

2、回顾用户管理

useradd用户的添加

# useradd [选项 选项的值]  用户名称
选项说明:
-g :指定用户的主组的编号信息
-s :指定用户可以使用的Shell类型
/bin/bash :给人用的,给运维工程师
/sbin/nologin :给软件用的,比如mysql
​
-G :指定附属组的ID编号,如果有多个附属组,可以使用逗号隔开 useradd -G 1000,1001 ..
-d :指定用户的家,/home/itheima,useradd -d /itheima itheima
-u :指定用户的ID编号,默认是自动生成的
-c :comment,注释信息,scj:x:uid:gid:宋楚杰的账号
-n :取消以用户名称命名的组信息

id命令

# id itheima

3、与用户相关的用户文件

组:/etc/group文件

用户:/etc/passwd文件,每创建一个用户,其就会在此文件中追加一行

# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
由上图可知,一共拥有7列
第1列:用户名称
第2列:用户的密码,使用一个x占位符,真实密码存储在/etc/shadow(1-用户名,2-加密密码)
第3列:数字,用户的ID编号
第4列:数字,用户的主组ID编号
第5列:代表注释信息,useradd -c "备注信息" 用户名称
第6列:用户的家目录,默认在/home/用户名称
第7列:用户可以使用的Shell类型,useradd -s /bin/bash或/sbin/nologin 用户名称

4、用户修改操作

用户:user,添加:add,修改:mod,删除:del

基本语法:

# usermod [选项 选项的值] 用户名称
选项说明:
-g :修改用户所属的主组的编号
-l :login name修改用户的名称
-s :修改用户可以使用的Shell类型,如/bin/bash => /sbin/nologin
​
扩展:
-L:锁定用户,锁定后用户无法登陆系统lock
-U:解锁用户unlock
​
了解:
-G :修改用户附属组的编号信息
-d :修改用户的家目录
-c :修改用户的备注信息

案例:修改zhangsan账号信息,更名为zs

# usermod -l zs zhangsan

案例:修改wangwu账号信息,把用户的主组的编号更新为1000(itheima)

# usermod -g 1000 wangwu

案例:禁止linuxuser账号登录Linux操作系统

# usermod -s /sbin/nologin linuxuser

案例:禁止linux用户登录操作(Ctrl + Alt + F2 ~ F6)

Linux系统除了默认的图形化界面,其实还有5个隐藏的字符界面,按Ctrl + Alt + F1~F6

有些电脑开启Fn功能键,所以如果Ctrl + Alt + F1~F6不生效,则可以按Ctrl + Alt + Fn + F1~F6

# usermod -L linux

案例:解锁linux用户

# usermod -U linux

问题:账号已经解锁,但是无法登录

① 当前账号没有设置密码,因为Linux操作系统不允许没有密码的操作进行登录

② 当前用户的Shell类型为/sbin/nologin,所以其无法登录

5、passwd命令

基本语法:

# passwd 用户名称

主要功能:为某个用户设置密码(添加或修改),可以给自己也可以给别人设置

案例:修改自己的密码

[root@yunwei ~]# passwd

案例:为linux账号添加一个密码,密码:123456

[root@yunwei ~]# passwd linux

特别注意:在Linux操作系统中,如果一个账号没有密码,则无法登录操作系统。

6、su命令

基本语法:

# su [-] root
选项:
- :横杠(减号),代表切换用户的同时,切换目录到用户的家

主要功能:切换用户的账号

从超级管理员切换到普通用户,root => itheima,不需要输入itheima的密码

从普通账号切换到超级管理员,itheima => root,需要输入root的密码

从普通账号切换到普通账号,itheima => linuxuser,也需要输入linuxuser密码

7、wheel组(了解)

Linux系统中,理论上只有在wheel组中的普通用户,才可以通过su命令切换到root账户,默认所有普通用户都能切换到root,只要知道root密码,换句话说,默认此配置不生效

8、用户删除操作

基本语法:

# userdel [选项] 用户名称
选项说明:
-r :删除用户的同时,删除用户的家(默认不删除)

案例:删除用户但是不删除用户的家目录

# userdel zs

案例:删除用户的同时删除用户的家目录

# userdel -r lisi

删除账号流程:① 删除账号 ② 确认是否删除用户家 ③ 删除用户主组(没有其他用户)

扩展:当我们想要删除某个账号时,系统提示当前账号正在被某个进程所使用

解决方案:

第一种方案:找到登录的这个用户,然后将其直接注销

第二种方案:

# kill [-9] 进程的ID编号
选项说明:-9代表强制结束某个进程
主要功能:用于结束某个进程的继续运行

案例:结束11565进程

# kill 11565

简单粗暴,kill 对应用户的全部进程(尽量斩草除根,结束父进程)

# ps -ef |grep linux
ps命令:查看进程
-ef :查看系统的所有进程
|:管道命令
grep linux:搜索包含了linux关键词的所有进程

结束完成后,再次使用userdel删除即可

二、管道(重点)

1、管道符

=="|"==,竖线

作用:管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将==前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)==。

0 : 标准输入,程序或命令需要外部的某些程序传递相应的参数,才能正常运行

1 :标准输出,程序或命令正确的执行结果,我们就称之为标准输出

2 :标准错误,程序或命令错误的执行结果,我们就称之为标准错误

2、过滤(筛选)功能

基本语法:

# 前一个命令 | 后一个命令

案例:获取/根目录下包含关键字"y"的文件信息

# ls / | grep y
解析:
| :管道符号,作用=>把ls /的正确的执行结果作为参数传递给grep命令
ls / :管道左边的命令
grep y :管道右边的命令

grep命令的基本语法 => grep 关键字 文件名称

案例:检索系统中的已安装文件,只筛选mariadb软件信息

# rpm -qa | grep mariadb
-q :query,查询
-a :all,所有

案例:在系统的进程中进行查找,查找与itheima相关的进程信息

# ps -ef | grep itheima
ps -ef :查询系统中所有正在运行的进程

3、特殊功能

通过管道的操作方法来实现less 的等价效果(了解)

例如:源指令是"less xxx.txt",使用管道的话则可以写成:cat xxx.txt | less

# less initial-setup-ks.cfg
更改为管道命令
# cat initial-setup-ks.cfg | less

4、统计功能(重点)

回顾:wc命令,word count,文件统计功能

# wc [选项] 文件名称
选项说明:
-l : 统计总行数
-w : word,总单词数
-c : 统计总字节数

案例:统计/根目录下一共有多少个文件

# ls / | wc -l

案例:用户在计算机中有一个配置文件(/etc/passwd),一般情况下,一个用户会占用一行配置,请你使用现学的管道统计当前计算机中一共有多少个用户个信息(一个用户一行)

# cat /etc/passwd | wc -l

5、xargs命令扩展

问题:为什么需要xargs命令?

答:之所以能用到这个命令,关键是由于很多命令不支持 | 管道来传递参数,而日常工作中又有这个必要,所以就有了 xargs 命令。

简单来说,xargs命令就相当于对管道命令进行了一个扩展,让所有命令都支持管道

案例:搜索/etc目录下的所有".conf"结尾的文件信息,然后以详细列表形式显示

# find /etc -name "*.conf" | ls -l

解决方案,在ls命令之前添加一个xargs命令,这样ls命令就支持管道了,可以用于接收前一个命令的执行结果

# find /etc -name "*.conf" | xargs ls -l

三、Linux网络管理

1、获取计算机的网络信息

基本语法:

# ifconfig

Windows => ipconfig Linux => ifconfig

第一步:连接网络

第二步:使用ifconfig命令,获取计算机的网络信息

# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.16  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fe80::e472:7b78:c871:8e12  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:48:bf:f9  txqueuelen 1000  (Ethernet)
        RX packets 254  bytes 54837 (53.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 287  bytes 42006 (41.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
解析:inet 10.1.1.16  netmask 255.255.255.0  broadcast 10.1.1.255
inet 10.1.1.16 :代表ens33网卡的IP地址,将来远程连接就是用这个IP
netmask :子网掩码,一般为255.255.255.0
broadcast :广播地址,10.1.1.255

CentOS6 => eth0 , CentOS7 => ens33

ens33 :是默认的网卡,我们获取的IP也要从这个网卡中获取

lo(loop,循环):表示回环网卡,只有一个固定的IP地址,127.0.0.1代表本机

virbr0:虚拟网络接口,因为咱们使用vmware虚拟机安装Centos,所以其会产生virbr0虚拟网络接口

2、与网卡相关的配置文件

Linux系统中,一切皆文件。所以保存网络信息的也是通过一个文件来完成的。

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="dhcp"
NAME="ens33"
UUID="6c809893-d12c-46af-9987-4c05b2773c91"
DEVICE="ens33"
ONBOOT="yes"
​
参数解析:
TYPE :网络类型,Ethernet以太网
BOOTPROTO:IP的获取方式,dhcp代表自动获取,static/none代表手工设置
NAME :网卡的名称(名字),ens33
UUID :代表网卡的UUID编号(必须是唯一的)
DEVICE :设备名称
ONBOOT :代表网卡是否随计算机开启启动,yes随计算机开机启动,no代表不启动

3、查询计算机的网络状态

基本语法:

# systemctl  status  network
​
systemctl = system + control = 系统控制

主要功能:查询计算机网络的状态,网络是否正常连接。

Active : active(正常)或 inactive(dead,网络状态不正常没有连接)

4、systemctl启动/重启/停止网络

# systemctl start network
# systemctl stop network
# systemctl restart network
​
选项解析:
start :启动
stop :停止
restart :重启

四、Linux远程连接与文件传输

1、为什么需要远程连接

2、SSH协议

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

3、sshd服务

当我们在计算机中安装了sshd软件,启动后,就会在进程中产生一个sshd进程,其遵循计算机的SSH协议。默认情况下,sshd服务随系统自动安装的。

# systemctl  status  sshd

4、sshd服务的端口号

SSH协议,其规则了远程连接与传输的端口号,所以sshd服务启动后,就会占用计算机的22号端口。

端口号能解决什么问题?答:能让我们的计算机区分出不同的服务

5、使用MX软件连接Linux服务器

Putty

官网:www.putty.org

PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。

SecureCRT

官网:www.vandyke.com SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。(颜色方案不是特别好看)

XShell

官网:www.netsarang.com

Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

缺点:收费

MobaXterm

官网:https://mobaxterm.mobatek.net/

① 获取Linux的的IP地址

# ifconfig
10.1.1.16

② 打开MX软件,单击Session,创建一个SSH远程连接

③ 设置书签(给这台服务器起个名字)

④ 输入CentOS7.6的root管理员密码

管理员:root

密 码:123456

6、使用MX实现文件传输

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云优惠口令(2023更新)

2023年阿里云域名优惠口令&#xff0c;com域名续费优惠口令“com批量注册更享优惠”&#xff0c;cn域名续费优惠口令“cn注册多个价格更优”&#xff0c;cn域名注册优惠口令“互联网上的中国标识”&#xff0c;阿里云优惠口令是域名专属的优惠码&#xff0c;可用于域名注册、续…

微信公众号粉丝迁移步骤?

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;公众号迁移是将原公众号的粉丝、违规记录、文章和素材库&#xff08;可选&#xff09;迁移至一个新的公众号。整体流程较为复杂&#xff0c;需花费7-10天。通过公众号迁移功能可以将A账号的粉丝、文章素材&#xff…

ROS工具RViz可视化3D空间的一些错误的解决方案

1、引言 RViz是ROS的一个可视化3D空间的工具&#xff0c;它用于帮助用户在ROS系统中导航、查看和交互。RViz可以显示来自各种ROS节点的信息&#xff0c;例如传感器数据、机器人的状态和路径等。通过RViz&#xff0c;用户可以以图形方式查看和交互各种ROS数据&#xff0c;非常直…

连锁药店的自有品牌之争:老百姓大药房能否突围?

文丨新熔财经 作者丨楷楷 近年来&#xff0c;随着医保谈判药品的“双通道”&#xff08;即消费者可在有资质的药店买到新进医保的创新药&#xff09;&#xff0c;以及“门诊统筹”将药店纳入医保报销等医改政策出台&#xff0c;药企开始重新重视起零售药店渠道&#xff0c;很…

C++对象模型(18)-- 函数语义学:函数调用过程

1、栈帧结构 函数执行是通过系统栈来实现的&#xff0c;系统栈分为若干个栈帧。 栈帧就是函数运行的环境&#xff0c;每个函数在被调用时都会在系统栈区形成一个叫栈帧的结构。一次函数调用相关的数据保存在栈帧中&#xff0c;比如函数参数、函数的局部变量、函数执行完后的返…

Leetcode 21 合并两个有序链表 (链表)

Leetcode 21 合并两个有序链表 &#xff08;链表&#xff09; 解法1 复杂的第一版本&#xff08;优化大于和等于合并见方法二&#xff09;解法2 注意注意&#xff1a;先添加元素toadd.next list1&#xff0c;添加之后才可以移动指针toadd toadd.next 解法1 复杂的第一版本&a…

数字电路常用芯片合集

前言 本文归纳了本科数字电路中常见的芯片型号及其功能&#xff0c;分为以下几类&#xff1a; 组合逻辑电路芯片 时序逻辑电路芯片 D/A A/D相关芯片 组合逻辑电路芯片 优先编码器74HC148 功能&#xff1a;多→1&#xff0c;选通 逻辑框图 功能表 补充&#xff1a;可以…

react native 使用夜神模拟器开发调试 windows+android

执行adb devices, 提示List of devices attached 打开本地sdk目录中的platform-tools文件夹&#xff0c;复制下面3个文件 打开夜神模拟器安装目录中的bin目录&#xff0c;把复制出来的文件复制替换到bin目录中 在复制一份platform-tools目录中的adb.exe&#xff0c;重命名为…

java最新Springboot3+微服务实战12306高性能售票系统全套开发课程

java最新Springboot3微服务实战12306高性能售票系统全套开发课程 视频课程在文末获取 第1章 课程介绍与学习指南。 1-1 课前必读&#xff08;不读错过一个亿&#xff09; 1-2 课程导学 1-3 为什么要选择最新版本SpringBoot3和JDK17&#xff1f; 1-4 在线demo网站演示 第2…

现货黄金的走势怎么看

成功的现货黄金交易者&#xff0c;都有自己一套的看行情的方法&#xff0c;以及自己最熟悉的交易获利机会&#xff0c;这使他们获利的胜率能够保持在一定的水平之上&#xff0c;长远来说&#xff0c;这也使他们成为市场上的赢家。 现货黄金的价格走势总在不断的变化之中&#x…

GEE:绘制土地利用类型面积分布柱状图

作者:CSDN @ _养乐多_ 本文记录了,在 Google Earth Engine (GEE)中进行随机森林分类后绘制不同类型面积分布柱状图的代码片段。 完整代码请看博客《GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)》 柱状图效果如下所示, 文章目…

Pulsar-Pulsar 之 Functions

Pulsar 之 Functions Pulsar FunctionsPulsar Functions是什么&#xff1f;为什么使用Pulsar Functions&#xff1f;实例 完全限定函数名函数实例函数workerFunctions 运行时处理保证和订阅类型上下文函数消息类型Window functionwindow的类型快速开始启用有状态的函数使用Puls…

通讯协议学习之路:RS485协议理论

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 序&…

接口测试vs功能测试

接口测试和功能测试的区别&#xff1a; 本文主要分为两个部分&#xff1a; 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什…

“一键替换视频封面,高效批量剪辑从未如此简单

在一个充满竞争和创意的世界&#xff0c;吸引人的视频封面往往能够决定内容的成败。今天&#xff0c;我将向大家介绍一种可以轻松替换视频封面图片的实用技巧&#xff0c;让你在创作中更胜一筹&#xff01; 首先&#xff0c;我们要进入媒体梦工厂主页面&#xff0c;并点击“视…

Go语言入门心法(十一): 文件处理

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(八): mysql驱动安装报错onnection failed Go语言入门心法(…

Java中的代码重构:技巧、优秀实践与方法

什么是 Java 代码重构&#xff1f; Java 代码重构是一种在不影响代码外部行为的前提下进行的代码优化&#xff0c;它通过渐进和小规模的优化来改善现有代码的结构和质量。重构的目标是提高代码的可读性、性能、可维护性和效率等。 Martin Fowler 是这个领域的权威的大牛和非常…

前端 js 之 代码执行的一个过程 02

嘿&#xff0c;欢迎你来 &#xff01;&#x1f495; 文章目录 前言一、运行一个 js 文件二、运行环境三、js执行代码的过程&#xff08;普通变量&#xff09;四、打印 window五、js执行代码的过程&#xff08;函数变量&#xff09;六、函数调用函数的过程注意&#xff01;&…

Seata入门系列【10】分布式事务环境下数据库批量插入和批量更新操作

1 前言 批量插入和批量更新是常用的数据库操作&#xff0c;接下来我们分析下在seata 中如何使用。 如果使用循环遍历插入&#xff0c;效率是很慢的&#xff0c;所以一般的ORM框架都是支持批量操作的&#xff0c;接下来以Mybatis 为例&#xff0c;深入了解下如何使用批处理。 …

c语言练习94:分割链表

分割链表 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x…