大数据正式2 快来打我* 2022-06-06 08:38 160阅读 0赞 # 大数据正式2 # ### 用户身份与用户组记录的文件 ### * 在Linux系统当中,默认情况下所有的系统上的账号信息都记录在/etc/passwd这个文件内(包括root用户),而个人密码记录在etc/shadow这个文件中,所有Linux的组名在etc/group中,这三个文件非常重要,不要轻易改动。 * 用户管理 * 添加用户 # # - 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、 主目录和登录Shell等资源,刚添加的账号是被锁定的,无法使用。 - useradd [选项] 用户名 - 参数说明:选项 - -p指定用户的密码 - -d指定用户主目录 -d -m 如果不存在则创建 - -c comment指定一段注释性描述 - -g 用户组 指定改用户的用户组 - -G 用户组 指定用户组所属的附加组 - -s Shell文件 指定用户的登录Shell - -u 用户号 指定用户的用户号,如果同时有-o 则可以重复使用其他用户的标识号 # # 1. 创建用户 useradd tom 2. 查看用户信息 id tom 3. 创建用户指定其UID为800 useradd -u 800 jerry id jerry 4. 添加用户lucy,并设置他的个人主目录练习 useradd -d /usr/lucy -m lucy 5. 创建用户规模gm,指定他属于主用户组“jerry”, 附加组“adm,root”,登录使用的Shell是bin/sh useradd -s /bin/sh -g jerry -G adm,root gm 6. 创建用户(伪用户),没有可登录的shell useradd -s /sbin/nologin alice # # 增加用户就是在etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow和/etc/group等 * 修改用户 # # 1. 修改用户账号就是根据实际情况更改用户的有关属性,如账号,主目录,用户组,登录shell 2. 修改已有的用户信息 1. usermod [选项] 用户名 2. -c -d -m -g -G -s -u -o 3. 这些选项的意义与useradd的一样,可以为用户指定新的资源值 4. 另外,这个选项指定一个新的账号,即将原来的用户名改为新的用户名 3. 实例 1. 将用户gm的登录shell修改为bash,主目录修改为/home/z,用户组改为root usermod -s /bin/bash -d /home/z -g root gm * 用户口令管理 * 用户管理的一项重要内容是用户的口令管理,用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以被使用,即使是指定空口令。 * 指定和修改用户口令的Shell命令是passwd,超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。 * 格式:passwd \[选项\] 用户名 * \-l(lock)锁定口令 * \-u(unlock)口令解锁 * \-d(HOME\_DIR)使账号无口令(删除密码) * \-f强迫用户下次登录时修改口令 * 如果默认无用户名,则修改当前的用户的口令 * 修改密码 * passwd 修改自己的密码(普通用户修改自己的密码比较麻烦) * passwd tom 修改tom的密码(管理员才可以修改其他人的密码) * 切换用户 * su 目标用户 (管理员切换用户不需要密码,用户转管理员才需要密码) * 删除用户 * userdel 用户名 (删除指定的用户) * userdel tom * userdel -r 用户名(在删除指定用户的同时,同时删除他的home目录) * 用户组管理 * 每个用户都有一个用户组,系统可以对每一个用户组中的所有用户进行集中式管理,不同Linux系统对用户组的规定有所不同。 * 用户组的管理涉及用户的添加、删除和修改实际上是对.etc/group文件的更新 * 用户组操作 * 用户组添加 # # groupadd [选项] 用户组 选项: 1. -g GID (指定用户组的组标识号) 2. -o 一般与-g同时使用,表示新用户组的GID可以与系统已有用户组的GID相同 例: 添加用户组 groupadd emp(添加用户组) groupadd -g 8000 market(添加用户组market,并指定标识号为8000) 将用户添加到附加组 usermod -aG market tom(a:append G:附加组) * 用户组删除 # # droupdel 用户组 1. 如果删除的用户组,已经被用户追加为附件组,对应的所有用户的该附件组会被 撤销掉 2. 如果被删除的用户组,已经被用户指定为主组,则该用户组无法被删除 * 用户组修改 # # groupmod [选项] 用户组 -g GID为用户组指定新的组标识号 -o 与-g 使用相同,可以与系统的已有用户组的GID相同 -n 新用户组,将用户组的名字改为新的名字 练习: 1. 将用户组group2的组标识符改为102 groupmod -g 102 group2 2. 将组group2的标识符修改为10000,组名修改为group3 groupmod -g 10000 -n group3 group2 * 用户组切换 # # 1. 如果一个用户属于多个用户组,则这个用户可以在这些组之间进行切换,以便拥有其他用户组的权限 2. 用户在登录后,使用 newgrp 切换到其他用户组 3. newgrp root 4. 前提条件:此组是该用户的主组或附加组 ### 用户账号有关的系统文件 ### * passwd下的用户 * 查看命令 cat /etc/passwd <table> <thead> <tr> <th>信息</th> <th>gm:x:802:0:comments:/home/tom/z:/bin/bash</th> </tr> </thead> <tbody> <tr> <td>描述</td> <td>具体含义 用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录Shell</td> </tr> <tr> <td>详解</td> <td> </td> </tr> <tr> <td>1. 用户名</td> <td>代表用户账号的字符串;长度不超8个字符,字母数字组成;不能有冒号--因为冒号在这里是分隔符</td> </tr> <tr> <td>2.口令</td> <td>一些系统中存放着加密后的用户口令</td> <td> </td> </tr> <tr> <td>3.用户标识号</td> <td>是一个整数,系统内部用它来标识用户,一般情况下它与用户名是一一对应的,如果几个用户名对应的用户标识号是一样的,系统内部将他们是为一个用户,但他们可以有不同的口令,不同的主目录以及不同的登录shell等;通常用户标识号的取值范围为0~65535,0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始,在Linux系统中,这个界限是500</td> </tr> <tr> <td>4.组标识号</td> <td>用户所属的主用户组,它对应着/etc/group下的一条记录</td> <td> </td> </tr> <tr> <td>5.注释性描述</td> <td>记录用户的一些个人情况--真实姓名,电话,地址</td> </tr> <tr> <td>6.主目录</td> <td>用户的起始工作目录,用户登录系统之后所处的目录,自己有读写执行(搜索操作)</td> </tr> <tr> <td>7.登录shell</td> <td>用户登录后,要启动一个进程,负责将用户的操作传给内核,这个就进程是用户登录到系统后运行的命令解释器或某个特定的程序,Shell是用户和Linux系统之间的接口,Linux的Shell有许多种,每种都有不同的特点常用的有:sh,csh,默认为sh;用户的登录Shell也可以指定为某个特定的程序--利用这一点,我们可以限制用户只能运行指定的应用程序,当该程序运行结束后,用户就自动退出了系统</td> </tr> </tbody> </table> * 伪用户 * 这些用户在etc/passwd文件中也有一条记录,但是不能登录,因为他们的登录Shell为空(或/sbin/nologin).他们的存在主要是为了方便系统管理,满足相应的系统进程对文件属主的要求 * 常见的伪用户如下: * bin拥有可执行的用户命令文件 * sys拥有系统文件 * adm拥有账户文件 * uucp UUCP使用 * Ip IP或lpd子系统使用 * nobody NFS的使用 * /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据etc/passwd 中的数据自动产生,他的文件格式与/etc/passwd类似,由若干字段组成,字段之间用:隔开 <table> <thead> <tr> <th>内容</th> <th>jinxf:$1$P3i2zUCI$QxgXUAArJQhNWFxlOEFaD1:17365:0:99999:7:::</th> </tr> </thead> <tbody> <tr> <td>解释</td> <td>登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志</td> </tr> </tbody> </table> * /etc/shadow内容 <table> <thead> <tr> <th>内容</th> <th> </th> </tr> </thead> <tbody> <tr> <td> </td> <td>root:</td> </tr> <tr> <td> </td> <td>bin:</td> </tr> <tr> <td> </td> <td>daemon:</td> </tr> <tr> <td> </td> <td>adm</td> </tr> </tbody> </table> * 用户组信息 * etc/group * 每个用户都属于某个用户组,一个组中可以有多个用户,一个用户可以分属不同的用户组 * 当一个用户同时是多个组的成员时,默认的组为主组,其他为附加组 * 访问附加组时,先成为组成员(newgrp命令),然后在进行访问 * 组名、口令、组表示号、组内用户列表 * 权限 * rw-r--r--.1 root root passswd . ### 磁盘与文件系统 ### * 磁盘物理结构 * 反力矩弹簧装置 * 转动轴 * 转动手臂 * 读写磁头 * 主轴 * 磁盘盘片 * 磁盘 * 盘片(灰色同心圆磁道+直线) * 分成扇区:扇区是磁盘的最小单元,512字节(一般) * 磁盘物理结构 * 磁头 * 磁道 * 柱面 * 扇区 * 盘片 * 磁盘分区 * 指定分隔区起始与结束磁柱 * 告诉操作系统,在此分隔区域可以存取 * 操作: parted/fdisk * 使用硬盘之前为什么要格式化:因为每种操作系统所设定的文件属性/权限,以及存放数据的格式有所不同 * Ext2、Ext3、Ext4区别 * 这三是文件系统格式 * Ext4是Ext3的改进版,修改了部分数据结构 * Ext3对Ext2只是增加了一个日志功能 * Ext4可以提供更佳的性能和可靠性,还有更丰富的功能,更大的文件系统和更大的文件 * 对文件的支持随版本的升级也变高 * Ext3只支持32000个子目录,Ext4支持无限个 * Ext3采用间接块映射,当操作大文件时,效率及其低下,需建立逻辑快与物理块相对应p;Ext4引入extends概念,提高效率,只需一个映射关系即可。 * Ext3每次分配一个块;Ext4每次分配多个块。 * Ext3分配策略是尽快分配,Ext4是延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘。 * 文件系统检查,老的很慢,因为它要检查所有的inode;Ext4只检查在用的,未使用的跳过 * 日志校验:Ext4将过去两个阶段的日志拼接成一个阶段,提高性能(允许关闭日志) * 文件系统将准备执行的事务的具体内容写入日志 * 文件系统进行文件操作 * 操作成功后,将事务具体的内容从日志中删掉 * 在线碎片整理 * 支持更强大的inode(128字节---->256字节) * 持久预分配(预先创建与下载文件大小相当的空文件来提高效率和安全,防止下载失败) ### swap交换分区 ### * 物理内存不够用的时候,把一部分空间 释放出来,以供当前运行的程序使用,被释放出来的空间被临时保存在Swap空间中,等那些换出来的程序,准备恢复; * 存放“溢出来”的内容 * 设置大小: * 4GB以内物理内存:内存2倍 * 4~8GB物理内存:等于内存大小 * 8~64GB:8G * 64~256GB:16GB * 实际使用swap * 并不是等内存消耗完才执行 * 有swappiness参数控制 * cat /proc/sys/vm/swappiness * 默认值是60 * swappiness=0,时表示最大限度使用物理内存,然后才是swap;swappiness=100时,表示积极使用swap分区,并把内存上的数据及时搬运到swap空间里面 * 修改swap参数 * 临时性修改 * sysctl vm.swappiness=10 * 重启系统又会恢复为60 * 永久修改 * 在etc/sysctl.conf里添加如下参数:vm.swappiness=10 ### swap介绍 ### * swap的开启和关闭 * swapon -a * swapoff -a * 创建swap * mkswap ### 文件系统的操作 ### * 挂载点的意义 * 每个文件系统都有独立的inode/block/superblock等信息,这个文件系统能够链接到目录树才能被我们使用。 * 挂载:将文件系统和目录树结合的动作 * 挂载点:一定是目录,此目录文件系统的入口 * mount命令:将设备挂载到某个目录 * mount常用参数 * \-t指定设备的文件类型 * ext4常用的文件系统 * nfs网络文件系统 * ios9660 CD-ROM 光盘标准文件系统 * auto 自动检测文件系统 * \-o指定挂载系统时的选项 * ro只读 * rw读写 * mount \[-fnrsvw\] \[-o option\[,option...\]\] 设备文件 挂载点 * 挂载操作 * 挂载到某个目录 * mount -t iso9660 /dev/cdrom1 /mnt/cdrom * 取消挂载 * umount 设备或挂载点 * 挂载后查看乱码 * local命令查看编码 * mount -o -iocharset=utf8 /dev/sdb1 /mnt/udisk * Ntfs需下载ntfs-3g驱动 * /etc/fstab文件:开机引导的时候自动挂载到linux的文件系统 * df 列出文件系统整体磁盘的使用情况 * \-a列出所有文件系统 * \-k以KBytes的容量显示文件系统 * \-m以MBytes的容量显示文件系统 * \-h以GBytes,MBytes,KBytes自行显示 * \-i以inode数量显示 * du文件系统的磁盘使用量或是目录使用量 * \-a列出所有文件与目录容量 * \-h以人们较易读的容量格式显示 * \-s列出总容量 * \-k * \-m * \-i * dumpe2fs观察文件系统 * \-h仅列出superblock的数据 ### 网络 ### * 网络的基本知识 * OSI七层和TCP/IP四层的关系 <table> <thead> <tr> <th>OSI七层网络模型</th> <th>TCP/IP四层概念模型</th> <th>对应网络协议</th> </tr> </thead> <tbody> <tr> <td>应用层(Application)</td> <td>应用层</td> <td>HTTP,TFTP,FTP,NFS,WALS,SMTP</td> </tr> <tr> <td>表示层(Presentation)</td> <td>应用层</td> <td>Telent,Rlogin,SNMP,Gopher</td> </tr> <tr> <td>会话层(Session)</td> <td>应用层</td> <td>SMTP,DNS</td> </tr> <tr> <td>传输层(transmission)</td> <td>传输层</td> <td>TCP,UDP</td> </tr> <tr> <td>网络层(network)</td> <td>网络层</td> <td>IP,ICMP,ARP,RARP,AKP,UUCP</td> </tr> <tr> <td>数据链路层(data link)</td> <td>数据链路层</td> <td>FDDI,Ethernet,Arpanet,PDN,SLIP,PPP</td> </tr> <tr> <td>物理层(physical)</td> <td>数据链路层</td> <td>IEEE802.1A,IEEE802.2到IEEE802.11</td> </tr> </tbody> </table> * OSI和TCP/IP的关系 # # 1. OSI引入了服务,接口,协议,分层的概念,TCP/IP借鉴了OSI的这些概念 2. OSI现有模型,后有协议;现有标准,后有实践;而TCP/IP相反 3. OSI是一种理论,TCP/IP被广泛使用 4. TCP:transmission control Protocol 传输控制协议 5. UDP:user data Protocol 用户数据包协议 * 常用设备 * 交换机:MAC地址唯一,为什么不用MAC,而使用IP----收发快递时,不用身份证号,而使用收件地址 * MAC地址:48位---12位的16进制数表示 * 路由器 * Ip4:32位 * 家用路由器=交换机+路由器 ### 网络连接 ### * ip地址 * 网络位+主机位 * 相同的网络,网络位肯定相同,主机位不一样 * 不同的网络,网络位肯定不同,主机位可能一样 * 交换机连接相同的网络,路由器连接不同的网络 * 子网掩码 * subnet mask * 必须结合ip才可以使用:将某个ip地址划分为网络地址和主机地址 * 32位,用于屏蔽ip地址的一部分以区别网络标识和主机标识,并说明该ip地址的一部分在局域网上还是在远程网上 * 在二进制的前提下,将网络位全置为1,主机位全置位0,作用判断属于哪个网络,用法,做与运算 * 192.168.1.10(前24位为网络位)& 255.255.255.0=192.168.1.0 * 网关 * 网间连接器,协议转换器 * 一个网络向另一个网络发送数据( 经过的那道关口)--网络关卡(其实就是路由器的IP) * DNS * Domain Name System 域名系统 * 因特网上作为域名和IP地址互相映射的一个分布式数据库(运行在UDP协议上,端口53) * 主机名映射到IP地址方式 * 1. 静态映射--每台主机配置映射 * 2. 动态映射--DNS系统(姓名--电话号码) ### 网络配置 ### * 显示或设置网络设备 * ifconfig * 为什么eth0会变成eth1----udev动态管理,对于新的虚拟机,累加原则(网卡名自增,从eth0++) * 更改:vim etc/udev/rules.d/70-persistent-net.rules ### 虚拟机的几种连接方式 ### * (VMnet8)NAT网络地址转换--虚拟机与真实机在不同网段,从而实现互联网 * (VMnet0)bridge桥接--同一个网段,从而实现互联网 * (VMbnet1)host-only仅为主机 * service network restart/status/start/stop * 通过主机名查看ip:host www.tedu.cn * 远程管理 * 将本地demo目录拷贝到服务器的ip的/root目录下 * scp -r /home/demo root@服务器IP:/root * 从本机登录远程的服务器 * ssh 用户名@服务器IP ### SSH免密登录 ### * RSA * 非对称加密算法--秘钥对分为公钥,私钥对(根据change字符串的对比实现比对验证) * 公钥加密的内容,只有拥有私钥才可解密 # # 1. 生成公钥-私钥对ssh-keygen 2. 将公钥拷贝到服务端ssh-copy -id -i ~/.ssh/id_rsa.pub <用户名>@<server> ### 网络下载 ### * wget 参数 网址 * 支持断点下载 * FTP,HTTP * 支持代理服务器 * 下载 * 单个文件 * wget 网址 * wget -O下载并以不同的文件名保存 * wget -O name 网址 * wget --limit-rate=300k限速下载 * wget -c 网址 断点续传 * wget -b 网址 后台下载 * wget -i 放网站地址的txt文件
相关 大数据正式5 大数据正式5 常见的shell命令 管道命令 管道符| 将两个命令隔开,左边命令的输出就会作为管道右边命令的输入 连续使 旧城等待,/ 2022年06月06日 10:29/ 0 赞/ 233 阅读
相关 大数据正式2 大数据正式2 用户身份与用户组记录的文件 在Linux系统当中,默认情况下所有的系统上的账号信息都记录在/etc/passwd这个文件内(包括root用户), 快来打我*/ 2022年06月06日 08:38/ 0 赞/ 160 阅读
相关 大数据正式10 大数据正式10 jQuery 定义:jQuery是一个“写的更少”,但“做的更多”的轻量级JavaScript函数库 优势 1. 可 ゞ 浴缸里的玫瑰/ 2022年06月05日 06:24/ 0 赞/ 246 阅读
相关 大数据正式32 大数据正式32 Spring中的JDBC jar包准备 ![zW1gEQQ.png][] bean+properties普通配置 悠悠/ 2022年06月03日 08:44/ 0 赞/ 165 阅读
相关 大数据正式27 大数据正式27 Spring 先来张图简单看一下 ![oQySJMC.png][] spring框架的特点 1 悠悠/ 2022年06月03日 04:38/ 0 赞/ 142 阅读
相关 大数据正式京淘2 大数据正式京淘2 项目统一 编码:UTF-8 环境:JDK1.8 Maven:3.5 数据库:5.5 项目支撑系统搭建 新建w 末蓝、/ 2022年06月02日 12:27/ 0 赞/ 201 阅读
相关 大数据正式37 大数据正式37 Maven 传统项目存在的弊端 1. 导入jar包得经验丰富 2. 传统项目打包方式不通用,不能很好的支持聚合项 左手的ㄟ右手/ 2022年06月02日 01:46/ 0 赞/ 155 阅读
相关 大数据正式36 大数据正式36 MyBatis的接口形式 注意两点 1. 接口名---namespace值对应 2. 方法名---id一致 淩亂°似流年/ 2022年06月02日 01:12/ 0 赞/ 260 阅读
相关 大数据正式34 大数据正式34 Spring+SpringMVC 小例子 效果图 ![hsIEQmd.png][] 功能说明 川长思鸟来/ 2022年06月02日 00:16/ 0 赞/ 272 阅读
还没有评论,来说两句吧...