大数据正式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
信息 gm:x:802:0:comments:/home/tom/z:/bin/bash 描述 具体含义 用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录Shell 详解 1. 用户名 代表用户账号的字符串;长度不超8个字符,字母数字组成;不能有冒号--因为冒号在这里是分隔符 2.口令 一些系统中存放着加密后的用户口令 3.用户标识号 是一个整数,系统内部用它来标识用户,一般情况下它与用户名是一一对应的,如果几个用户名对应的用户标识号是一样的,系统内部将他们是为一个用户,但他们可以有不同的口令,不同的主目录以及不同的登录shell等;通常用户标识号的取值范围为0~65535,0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始,在Linux系统中,这个界限是500 4.组标识号 用户所属的主用户组,它对应着/etc/group下的一条记录 5.注释性描述 记录用户的一些个人情况--真实姓名,电话,地址 6.主目录 用户的起始工作目录,用户登录系统之后所处的目录,自己有读写执行(搜索操作) 7.登录shell 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个就进程是用户登录到系统后运行的命令解释器或某个特定的程序,Shell是用户和Linux系统之间的接口,Linux的Shell有许多种,每种都有不同的特点常用的有:sh,csh,默认为sh;用户的登录Shell也可以指定为某个特定的程序--利用这一点,我们可以限制用户只能运行指定的应用程序,当该程序运行结束后,用户就自动退出了系统
伪用户
这些用户在etc/passwd文件中也有一条记录,但是不能登录,因为他们的登录Shell为空(或/sbin/nologin).他们的存在主要是为了方便系统管理,满足相应的系统进程对文件属主的要求 常见的伪用户如下:
bin拥有可执行的用户命令文件 sys拥有系统文件 adm拥有账户文件 uucp UUCP使用 Ip IP或lpd子系统使用 nobody NFS的使用 /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据etc/passwd 中的数据自动产生,他的文件格式与/etc/passwd类似,由若干字段组成,字段之间用:隔开
内容 jinxf:$1$P3i2zUCI$QxgXUAArJQhNWFxlOEFaD1:17365:0:99999:7::: 解释 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
内容 root: bin: daemon: adm
用户组信息
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介绍
文件系统的操作
挂载点的意义
每个文件系统都有独立的inode/block/superblock等信息,这个文件系统能够链接到目录树才能被我们使用。 挂载:将文件系统和目录树结合的动作 挂载点:一定是目录,此目录文件系统的入口 mount命令:将设备挂载到某个目录 mount常用参数
-t指定设备的文件类型
ext4常用的文件系统 nfs网络文件系统 ios9660 CD-ROM 光盘标准文件系统 auto 自动检测文件系统 -o指定挂载系统时的选项
mount [-fnrsvw] [-o option[,option...]] 设备文件 挂载点 挂载操作
挂载到某个目录
mount -t iso9660 /dev/cdrom1 /mnt/cdrom 取消挂载
挂载后查看乱码
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观察文件系统
网络
OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层(Application) 应用层 HTTP,TFTP,FTP,NFS,WALS,SMTP 表示层(Presentation) 应用层 Telent,Rlogin,SNMP,Gopher 会话层(Session) 应用层 SMTP,DNS 传输层(transmission) 传输层 TCP,UDP 网络层(network) 网络层 IP,ICMP,ARP,RARP,AKP,UUCP 数据链路层(data link) 数据链路层 FDDI,Ethernet,Arpanet,PDN,SLIP,PPP 物理层(physical) 数据链路层 IEEE802.1A,IEEE802.2到IEEE802.11
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----收发快递时,不用身份证号,而使用收件地址
路由器
网络连接
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系统(姓名--电话号码)
网络配置
显示或设置网络设备
为什么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免密登录
RSA
非对称加密算法--秘钥对分为公钥,私钥对(根据change字符串的对比实现比对验证) 公钥加密的内容,只有拥有私钥才可解密
1. 生成公钥-私钥对ssh-keygen
2. 将公钥拷贝到服务端ssh-copy -id -i ~/.ssh/id_rsa.pub <用户名>@<server>
网络下载
wget 参数 网址 支持断点下载 FTP,HTTP 支持代理服务器 下载
单个文件
wget -O下载并以不同的文件名保存
wget --limit-rate=300k限速下载 wget -c 网址 断点续传 wget -b 网址 后台下载 wget -i 放网站地址的txt文件