【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作

目录

[🍔 Linux用户和权限](#🍔 Linux用户和权限)

[1.1 Linux 用户相关概念](#1.1 Linux 用户相关概念)

[1.2 用户权限](#1.2 用户权限)

[1.3 文件/文件夹权限的修改](#1.3 文件/文件夹权限的修改)

[🍔 Linux实用操作](#🍔 Linux实用操作)

[2.1 快捷键](#2.1 快捷键)

[2.2 软件安装/服务启动状态管理/创建软连接](#2.2 软件安装/服务启动状态管理/创建软连接)

[yum install](#yum install)

[systemctl 对服务进行管理](#systemctl 对服务进行管理)

[ln 软连接](#ln 软连接)

[2.3 IP 和 主机名](#2.3 IP 和 主机名)

[2.4 网络操作相关命令](#2.4 网络操作相关命令)

[ping 域名/ip地址](#ping 域名/ip地址)

[wget 下载软件](#wget 下载软件)

[curl 发送http 请求](#curl 发送http 请求)

[2.5 端口 和 进程](#2.5 端口 和 进程)

端口

[netstat -anp 查看端口占用情况](#netstat -anp 查看端口占用情况)

进程

应用场景

[🍔 小结](#🍔 小结)


🍔 Linux用户和权限

1.1 Linux 用户相关概念

Linux两类用户

root 超级管理员

普通用户

  • 大多数文件都只有读/运行的权限

  • 只有在当前用户的HOME目录下才有对应的权限

  • 在root用户下可以创建普通用户

    复制代码
    useradd -m 用户名
    passwd 密码

    密码不能过于简单

    复制代码
    su 用户名  # 切换用户
    exit #退出当前用户 返回上一步用户
  • 普通用户想临时使用超级管理员权限

    复制代码
    sudo 命令 

    普通用户使用sudo 的前提: 需要在root用户下 修改sudoers 文件, 将普通用户添加到这个文件中,普通用户才可以使用sudo

  • 在root用户下 执行 visudo 将用户添加到sudoers文件

1.2 用户权限


root用户 超级管理员 不受其它用户权限限制

文件的权限问题

  • r read 读权限 cat, more 操作

  • w write 写权限 打开文件并进行修改 比如使用vim进行编辑

  • x execute 执行权限 作为一个程序来执行

文件夹的权限问题

  • r read 读权限 读取存储在这个文件夹下的内容

  • w write 写权限 在当前文件夹中添加/删除 文件

  • x execute 执行权限 可以在当前文件夹中查找, 可以使用cd命令将工作目录切换到改目录

1.3 文件/文件夹权限的修改

修改权限

chmod

chmod u=rwx g=wx o=x 文件名

chmod XXX 文件名 (三位数, 每一位取值范围 0 ~7 )
修改所属的用户/用户组

chown 用户: 用户组 文件名 同时修改这个文件/文件夹的 用户和用户组

chown 用户 文件名 只修改当前文件/文件夹所属的用户

chown :用户组 文件名 只修改当前文件/文件夹所属的用户组

chown -R 用户: 用户组 文件夹名 当前文件夹内所有的内容都设置成相同的用户/用户组

🍔 Linux实用操作

2.1 快捷键

复制代码
1. ctrl + c 强制停止
2. ctrl + d 退出登出
3. history 查看历史命令
4. !命令前缀,自动匹配上一个命令
5. ctrl + r,搜索历史命令
6. ctrl + a | e,光标移动到命令开始或结束
7. ctrl + ← | →,左右跳单词
8. ctrl + l 或 clear命令 清屏

2.2 软件安装/服务启动状态管理/创建软连接

yum install
  • 通过类似于应用商店的包管理器来下载并安装软件

yum install 软件名字

yum uninstall 软件名字

可选参数 [- y] 自动同意

systemctl 对服务进行管理

语法:

系统内置的服务比较多

  • NetworkManager,主网络服务

  • network,副网络服务

  • firewalld,防火墙服务

  • sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)

ln 软连接
  • 相当于快捷方式

ln -s 要连接的源文件 要创建的软连接

复制代码
ln -s ~/py3.8 /root/anaconda3/bin/python3.8

2.3 IP 和 主机名

每台机器访问局域网/互联网 都要有一个IP地址

我们在访问网站的时候, 先访问url地址

访问网络的服务(浏览器, 其它程序) 会先使用这个URL 查询本机的hosts 文件

windows hosts文件 C:\Windows\System32\drivers\etc\hosts

Linux hosts文件 /etc/hosts

如果本机hosts 记录了 url和ip的对应关系, 直接获取到ip地址使用这个ip连接另外一台机器

如果本机hosts没有记录这个url和ip的关系, 就会访问公网的DNS 服务器

114.114.114.114

8.8.8.8

DNS服务器的作用就是做域名解析, 会把url → ip, 使用这个ip做后续的访问, 如果域名没有对应IP就会返回网址不存在

域名 → ip对应关系 网站自己到DNS服务器进行注册

自己在练习的时候, 会用到jupyter lab 我们可以在记得hosts文件中 注册一个192.168.88.161 node1.itcast.cn

这样的对应关系, node1.itcast.cn 我们就可以通过这个地址来访问jupyter lab

2.4 网络操作相关命令

ping 域名/ip地址

测试网络是否畅通

  • 如果下载某个软件包的时候, 发现无法下载/链接超时, 可以通过ping命令测试连接是否通
复制代码
ping 192.168.88.1  # ping 物理机
ping baidu.com   # 尝试连接百度

如果出现下面的情况说明网络不通的

wget 下载软件

wget 要下载软件的url地址

curl 发送http 请求

curl -0 文件url地址 下载文件

2.5 端口 和 进程

端口

一台机器上运行了很多的程序, 当程序需要联网进行数据交换的时候, 都要通过端口网络

  • 每一个运行的程序对应的进程都会对应一个端口

  • 启动jupyter lab 默认会占用8888端口 如果第一个jupyter lab没关, 再启动一个jupyter lab 就会占用8889这个端口

nmap 查看当前机器端口占用情况

复制代码
nmap 127.0.0.1 # 查看本机端口占用情况
netstat -anp 查看端口占用情况

netstat -anp | grep 端口号 查看具体某一个端口的占用情况

复制代码
netstat -anp | grep 8888

经常用到的端口

22 ssh服务端口

3306 mysql 端口

jupyter lab 8888 端口

进程

每个程序运行起来之后, 都会在操作系统内注册一个进程, 进程都会对应一个进程编号(PID)

ps -ef 查看当前linux系统中正在运行的进程都有哪些

复制代码
ps -ef|grep 进程编号

如果想杀死一个进程 可以通过kill -9 进程编号杀死进程

-9 强制杀死

应用场景

安装/运行多个程序的时候, 可能会出现默认端口冲突的问题

  • 两个不同的程序如果都默认使用了相同的端口, 后启动的程序在启动的时候可能会报错
复制代码
netstat -anp | grep 要使用的端口
# 通过端口查看进程编号 
# 需要查询当前进程编号对应的程序是啥程序
ps -ef|grep 进程编号
# 看当前这个进程是否重要, 如果不重要可以直接杀死
kill -9 进程编号

🍔 小结

🍬 用户/用户组/文件权限

root/普通用户

10位二进制数 表示一个文件/文件夹的权限信息

第一位 d/l/-

第2~4位 文件/文件夹所属用户对这个文件/文件夹拥有的权限

第5~7位 文件/文件夹所属用户组用户对这个文件/文件夹拥有的权限

第8~10位 其他组用户对这个文件/文件夹拥有的权限

r/w/x

chmod 权限值

chown 修改文件/文件夹所属用户:用户组

🍬 软件安装问题/文件下载

yum install 软件名字

wget url地址

curl -0 url地址

下载如果出现问题, 测试网络通不通

ping 192.168.88.1 主机和虚拟机之间通信没问题

ping baidu.com 如果可以ping通 连外网没有问题, 如果发现延迟比较大, 可能是DNS解析问题

🍬 ip和域名的问题

可以在本地配置hosts文件

🍬 端口和进程

端口冲突解决

netstat -anp |grep 端口号 查看端口占用情况 → 进程编号 PID

ps -ef |grep PID 查询是哪个程序对应的这个进程 这个进程就是当前正在占用这个端口的程序

kill -9 PID 强制杀死进程

相关推荐
林辞忧38 分钟前
MySQL之数据类型
数据库·mysql
YashanDB38 分钟前
【YashanDB知识库】archivelog磁盘满导致数据库abnormal
数据库·yashandb·崖山数据库·yashandb知识库
开心工作室_kaic2 小时前
基于Vue的兴趣活动推荐APP的设计与实现_kaic
java·c语言·开发语言·数据库·python·sqlite·php
默子昂2 小时前
yolo自动化项目实例解析(一)日志格式输出、并发异步多线程、websocket、循环截图、yolo推理、3d寻路
运维·yolo·自动化
老王笔记3 小时前
MAVEN创建WEB项目
java·数据库·maven
飞翔的佩奇3 小时前
Java项目: 基于SpringBoot+mybatis+maven教学资源库管理系统(含源码+数据库+毕业论文)
java·数据库·spring boot·毕业设计·maven·mybatis·教学资源系统
计算机程序设计开发3 小时前
计算机毕业设计体育资讯个性化推荐网站网站内容留言评论前台注册后台管理/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
数据库·spring boot·mysql·课程设计·计算机毕业设计
秃了也弱了。3 小时前
使用iperf3测试局域网服务器之间带宽
运维
Hadoop_Liang5 小时前
xshell密钥方式连接阿里云Linux
linux·阿里云·云计算
William.csj6 小时前
Bitvise——进入服务器的快捷方式
运维·服务器