linux课堂笔记(2)
Linux下网络设备接口命名规则
ethx第n快以太网卡
ethx:x第n快以太网卡上的第n个子接口
etc....
wlanx第n快无线网卡
pppx第n个PPP拨号连接
lo环回接口,(本地回环)
通常它的IP为127.0.0.0/8
virbr0KVM默认虚拟桥接接口
brx第n个桥接接口
brx:x第n个桥接接口上第n个子接口
以太网接口配置文件被保存至/etc/sysconfig/network-scripts/ifcfg-ethx
环回接口配置文件位置同上,文件名通常为ifcfg-lo
大多数接口配置文件存放位置都同上
主机名配置文件放置在/etc/sysconfig/network文件当中
DNS客户端配置文件在/etc/resolv.conf
HOSTS解析文件放置在/etc/hosts
WINDOWS的HOSTS文件存放在C:\WINDOWS\system32\drivers\etc\hosts
配置DNS客户端
配置方法1.
运行setup命令使用文本模式进行配置即可,更改完DNS客户端配置后不需要重启,但更改主机名称需要重启生效
配置方法2.
运行文本编辑器如,vi,emacs,pico,nano,gedit,编辑/etc/resolv.conf即可
example:
编辑/etc/resolv.conf
加入以下值
search https://www.360docs.net/doc/8c13039834.html,#定义DNS后缀搜索列表
nameserver 1.2.3.4#定义主DNS服务器地址
nameserver 4.3.2.1#定义次要DNS服务器地址
注意!每台DNS服务器地址,只能占一行
更改主机名称
方法1.
通过setup命令进行配置
方法2.
运行文本编辑器如,vi,emacs,pico,nano,gedit,编辑/etc/sysconfig/network即可
example:
编辑/etc/sysconfig/network
加入或者编辑HOSTNAME值
HOSTNAME=name
配置以太网接口
将主机配置为DHCP Client
方法1.
运行setup进行配置
方法2.
运行文本编辑器如,vi,emacs,pico,nano,gedit,编辑/etc/sysconfig/ifcfg-ethx即可
example:
假设现在编辑的以太网接口为ifcfg-eth0
编辑如上文件
加入或者编辑以下值
-----------------------------------------------
DEVICE=ethx#定义设备名称
BOOTPROTO={none|dhcp|static}选择dhcp#定义地址分配类型
ONBOOT={yes|no}#是否在开机时启用或禁用该网卡
配置静态IP
方法1.
running setup configuration
方法2.
运行文本编辑器如,vi,emacs,pico,nano,gedit,编辑/etc/sysconfig/ifcfg-ethx即可
example:
假设现在编辑的以太网接口为ifcfg-eth0
编辑如上文件
加入或者编辑以下值
DEVICE=ethx
BOOTPROTO={none|dhcp|static}选择static#定义地址分配类型
IPADDR=w.x.y.z
NETMASK=x.x.x.x
GATEWAY=1.2.3.4#定义默认网关
ONBOOT={yes|no}#是否在开机时启用或禁用该网卡#如果需要在全局下禁用所有网卡,则编辑/etc/sysocnfig/network当中"NETWORKING值即可\
NETWORKING={yes|no}#当该值为yes时,意思是在开机时,启用所有网卡,为no时,在开机时禁用所有网卡,匹配顺序为先匹配该文件,然后在匹配接口文件里的ONBOOT值
更改完TCP/IP信息之后需要重启网络生效,命令如下
a. ifdown ethx#首先禁用网卡n,警告!!!该命令只适用于本地操作
b. ifup ethx#启用网卡n
ifconfig ethx down#同a相同的意义
ifconfig ethx up#同b相同的意义
ifconfig#用于显示接口信息,以及配置接口,如果命令后面不接接口名称,则默认显示所有接口信息
c. service network restart#该命令直接是将网卡先禁用,然后在启用,至于在启动的时候是否启用还是禁用网卡,最终取决于"ONBOOT"值,该命令就类似于一次性执行a和b命令
/etc/init.d/network restart#同命令C意义相同
子接口配置,新建一个接口配置文件,然后以接口的文件名命名,后面加:x例如定义的是第一快以太网接口上的第一个子接口则是ifcfg-eth0:0
加入以下值
DEVICE=eth0:0
BOOTPROTO={static|none|dhcp}
ONBOOT=yes
最后重启网络
如果需要定义桥接子接口,配置文件的格式则是ifcfg-brx:x如ifcfg-br0:0
DEVICE=br0:0
BOOTPROTO{static|none|dhcp}
ONBOOT=yes
创建IPV4静态路由条目
配置文件存放路径于/etc/sysconfig/network-scripts/route-interface
配置文件内容如下
ADDRESS0=10.1.1.0#目的地网络(NID)
NETMASK0=255.255.255.0#目的地子网掩码
GATEWAY0=192.168.0.2#下一跳地址(Next Hot)
最后需要重启网络生效
更多配置文件的书写格式请参考/usr/share/doc/initscripts-*/sysconfig.txt
route add default gw w.x.y.z#添加一个默认网关
route del default gw w.x.y.x#删除一个默认网关
ifconfig ethx w.x.y.z netmask x.x.x.x#临时配置网卡x的地址
ifconfig ethx:x w.x.y.z netmask x.x.x.x#临时配置一个子接口
route -n#显示路由表
ip route#同上
ip#显示或者更改TCP/IP信息
route#显示或者添加路由表信息
ifconfig#显示或者更改TCP/IP信息
arp#显示arp表映射信息
Linux下用户分为三类
1. 根用户
根用户是Linux当中权限最高的用户可以做任何事情,包括访问所有用户比较私密的文件,etc....
并且每个用户都有一个独一无二的UID,也就是用户ID,根用户的UID为0,GID,也就是组ID也为0
2. 系统用户,系统用户是为大多数系统服务所使用,因为系统服务在运行时,肯定是由某个用户所运行系统服务的进程,系统系统用户的UID取值范围从2-499
也就是UID500<的用户都为系统用户
3. 普通用户,也是一般用户,权限比较低,普通用户默认只能在自己的家目录以及/tmp目录当中读取及写入数据,/tmp当中的文件是谁创建的,只能由谁自己删除,根用户除外
普通用户的UID取值范围为500>包含500,最大值为42947296xx,也就是2的32次方,新用户在创建的时候,会同时创建一个以自己用户名为组名称的一个组,默认属于自己这个\
私有组,也就是说,用户在没有加入任何其他的组之前,默认属于自己这个私有组,也被称之为主组,主组一般都是属于自己这个组,也可以将用户加入到其他的附属组
普通用户的家目录位置默认为/home/"username",并且普通用户之间不能来回在其他用户的家目录当中随意访问
----------------------------------------------------------------------------------------------------------
添加用户使用如下命令
useradd username
example:
useradd student or adduser
用户添加好之后,如果没有设定密码,则用户账户默认是被锁定的
useradd有很多的参数可选,比如-d -s -e等等
比如使用以上几个参数添加用户
useradd -d /home/guests/student -s /sbin/nologin -e 2011-10-30
删除用户,命令如下
userdel username#常用参数由-r,意思是删除用户的同时删除用户自身的家目录以及用户的邮件池example:
userdel kevin -r
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
添加组命令如下
groupadd groupname
example:
groupadd technology
删除组,参考如下命令
groupdel groupname
example:
groupdel technology
------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
更改用户信息,命令如下
Usage: usermod [options] LOGIN
example:
usermod -G technology kevin
--------------------------------------------------------------------------------------
查看用户身份信息
id username#如果直接以当前用户输入id,不接用户名称,则显示自己的身份信息,比如主组,附属组etc.....
passwd#设定账户密码,根用户可以使用该命令更改所有用户的密码,如果普通用户使用该命令改密码,则需要提供原始密码,根用户如果需要使用该命令更改其他用户的密码\
应当这样输入命令,如下,如果根用户直接想更改自己的密码,直接输入命令本身,不加参数即可
#passwd username
因此,linux当中,所有的用户数据库通常被保存到/etc/passwd当中,每个用户占一行
组数据库被保存到/etc/group当中,同样每个组占一行
密码数据库被保存/etc/shadow当中,每个用户信息占一行
touc命令有两个作用
1. 创建空文件
2. 更新文件夹或者文件的时间戳
也就是说,touch命令后面的对象如果存在,则匹配"2"动作
如果touch后面的对象不存在,则匹配"1"动作
创建目录,命令如下
mkdir "directory name"#如果希望递归创建目录,可以加上-p参数
example:
mkdir photo
cat命令用户从上到下查看文件,一屏翻滚完成
tac命令同上,但相反
删除文件或目录,如下
rm "file or directory"#如果是目录则要加上-r的参数,-f参数也比较常用,用于强制删除,不要求确认
cp 用于复制文件或者目录
cp "source file" "destination"
example:
cp a /tmp/#将文件a复制到/tmp目录当中,文件名保持默认
cp a /tmp/b#将文件a复制到/tmp目录当中,文件名更改为b,但内容不变
以上为复制文件
复制目录时,加上-r参数即可
cp photo -r /tmp
cp photo -r /tmp/otohp
mv命令用于重命名或者移动文件
移动文件如下
mv "source file" "destination"
example:
mv photo /tmp
重命名如下
mv photo otohp
移动文件并重命名如下
mv photo /tmp/otohp
Linux常用目录说明
/bin,/usr/bin,/usr/local/bin#这三个目录是一般用户能够使用的命令存放的目录
/sbin,/usr/sbin,/usr/local/sbin#只有根用户以及系统用户能够使用的命令存放于此
/boot#linux内核存放目录
/dev/#设备快文件存放目录
/etc#大多数配置文件存放的路径
/home/username#每个普通用户的家目录,例如当前的用户为kevin,则家目录位置为/home/kevin
/lib,/lib64,/usr/lib#应用程序共享库文件存放目录
/media,/mnt#其他周边设备的空闲挂载点,例如可以将移动存储设备挂载到某个目录下,只要是根目录下的一个空目录即可
/opt#某些应用程序默认的安装路径
/proc,/sys#linux虚拟文件系统,实际上并不存在,是由内核虚拟出来的,在关机后,文件系统就自动消失
/root#根用户的家目录
/tmp#公共临时文件夹,允许所有人可以在文件夹当中写入数据,但只允许创建文件人本身删除文件或者文件夹,根用户例外
/usr#系统自带RPM包默认的安装目录,比如/usr/local
/var#服务器数据以及日志文件存放路径
Linux下的权限一共分为3类,如下
1. 文件夹或者文件的所属人(User)
2. 文件夹或者文件的所属组(Group)
3. 即不是文件夹的所属人也不是所属组当中的成员(Other)
-rw-r--r-- 1 kevin kevin 10456 Oct 29 17:26 network
以上权限的意思为,首先第一个字符意义如下
第一个字符如果是-号,则表示是一个文件
如果是b,则是一个存储块设备,例如/dev/sdx
如果是l,则是一个链接文件
如果是c,则是一个套接子层文件
如果是d,则是一个目录
接着往后,用九个字符分割开3组权限,分别为User,Group,Other
r=读取
w=写入
x=对于脚本叫做执行,对于目录叫做浏览
-=无权限
权限的数字表示方法
r=4
w=2
x=1
-=0
权限的匹配顺序
1. 当用户登录系统之后,进行文件夹或者文件的读取或者写入或者其他操作时,linux首先判断当前的用户是否为根用户,如果是则直接放行
2. 如果发现当前的用户不是根用户,则继续判断当前的用户是否为文件夹或者文件的所属人(User)如果是,则按照相应的权限赋予给该用户,如果不是,参考"3"
3. 如果当前的用户还不是文件夹或者文件的所属用户,则继续判断当前的用户是否为文件夹或者文件所属组里的一个成员,如果是,则按照相应权限权限赋予给该用户,如果不是参考"4"
-.o如果当前的用户即不是文件夹或者文件的所属人,也不是所属组里的一个成员,那就被linux定义为其他人(Other)
-定权限的方法如下
方法1. 采用八进制计数法进行设定即可
-rw-r--r--. 1 root root 2467 Oct 29 17:14 post-sa1
权限设定的方法,是每组权限的相加合
(User) rw- = 6
(Group) r-- = 400
(Other) r-- = 400
chmow 644 post-sa1
方法2. 字母设定法
-rw-r--r--. 1 root root 2467 Oct 29 17:14 post-sa1
chmow go+wx post-s1
更改文件夹或者文件的所属人,该操作只能由根用户进行更改,命令如下
chown user "file or directory"
更改所属组,也同样只能由根用户进行更改
chown .group "file or directory"
配置VNC服务器
1. 安装tigervnc-server软件包,直接运行yum install tigervnc-server -y
2. 然后用需要配置VNC桌面的用户运行vncserver命令进行配置即可,注意,当前如果是以root用户配置的vnc服务器,那客户端在连接的时候,就直接是以root身份连接至对方桌面
配置完密码之后,默认会启用启用第一个桌面,也就是localhost:1
如果希望杀死桌面则由运行vnc服务器的用户输入vncserver -kill :number
如果希望启动更多的桌面则运行vncserver :number#桌面号不要重复
如果希望在之后更改vnc服务器的密码则运行vncpasswd
使用SSH连接主机进行控制,命令如下
ssh username@"FQDN or IP Address"
通过scp传输文件
scp "source file or source directory" "username@destination:/path"#如果传输的是一个目录则需要加-r参数
打包zip
zip -r "name" "file or directory"
解压zip包
unzip "package"#如果希望解压到指定路径可以加上-d参数如下
unzip package.zip -d /tmp
将文件或者目录打包bz2格式的压缩包
tar cjvf "name.bz2" "file or directory"
解压bz2压缩包
tar xvf name.bz2#如果不指定解压路径........则解压到.......也可以加上C参数来指定解压到某个目录
tar xvfC name.bz2 /tmp
查看bz2压缩包内容,但不解压
tar tf name.bz2
打包文件或者目录为gz格式
tar czvf name.tar.gz "file or directory"
解压同bz2压缩包解压方式类似
创建SSH公钥验证
1. 需要安装的包有openssh-*,默认系统已安装好,如果没有装,则使用yum install openssh-* -y
2. 建议使用普通用户(也可以是root用户,但不推荐)执行如下命令创建ssh公钥以及私钥,公钥用于解密,私钥用于加密
ssh-keygen -t {rsa|dsa|}
然后会提示私钥的保存位置,回车即可,接着会提示是否给密钥加密,可以回车,这样就可以实现免密码登录,如果希望更加安全,则可以给密钥加密
3. ssh-copy-id -i ~/.ssh/id_{rsa|dsa}.pub root@w.x.y.z