Linux基础实践
1.1 应用安装
要求:掌握软件源的维护方法,配置系统使用软件源镜像。掌握通过软件源来查找,安装,卸载,更新软件的方法
备份原地址列表文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
修改列表文件:sudo gedit /etc/apt/sources.list
源:
deb http://mirrors.163.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-updates main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-proposed universe restricted multiverse main
deb http://mirrors.163.com/ubuntu/ trusty-backports main multiverse restricted universe
复制进sources.list
更新数据库sudo apt-get update(网太慢了最后放弃了呜呜呜)
查找包含部分关键字的软件包:sudo apt-cache search <你要查找的name>
安装软件:sudo apt-get install packagename
卸载软件:sudo apt-get remove packagename
升级软件包:sudo apt-get -u install packagename
?
1.2 用户权限管理
要求:掌握Linux权限管理的概念。掌握与权限管理相关的9bit的含义与设置方法。掌握chmod、chown指令的使用。掌握用户与用户组的维护方法。修改开机脚本或编写脚本。理解并修改PATH环境变量。
9bit的含义参照这张图
进入root模式:sudo su
3种不同的访问权限:可读(r)、可写(w)和可执行(x)。
3个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。
第一个字符显示文件的类型:
"-"表示普通文件。
"d"表示目录文件。
"l"表示链接文件。
"c"表示字符设备。
"b"表示块设备。
"p"表示命名管道,比如FIFO文件(先进先出)。
"f"表示堆栈文件,比如LIFO(后进先出)。
"s"表示套接字
之后有三个三位字符组:
第一个三位字符组表示文件拥有者(u)对该文件的权限。
第二个三位字符组表示文件用户组(g)对该文件的权限。
第三个三位字符组表示系统其他用户(o)对该文件的权限。
没有权限时显示 "-"。
?
chmod:改变文件的访问权限
格式:chmod [who] [+ | -| =] [mode] 文件名
[Who]: u所有者 g组成员 o其他成员 a所有人
[+ | -| =]: =重新制定权限 -:减少权限 +:增加权限
[mode]: 可以执行的权限,可以是"r"(只读)、"w"(可写)和"x"(可执行),以及它们的组合。
如图,进入root权限后,改变examples.desktop的访问权限,将所属用户组的可写权限增加
?
chown:修改文件所有者和组别
格式:chown [参数]<用户名>(:<用户组名称>)<文件名>
参数:-R:递归改变目录的拥有者
-f:不显示拥有者的详细信息
如图,root用户black要增加一个新用户white
创建用户:useradd 用户名
设置密码:passwd 用户名
之后修改将examples.desktop的所有者改为white
cat /etc/passwd(后来black又加了一个新用户yellow,发现white,yellow都在列表最后面)
创建组:groupadd 组名
grep 组名 存放地址(/etc/group)
变态组创建完成
删除用户:userdel 用户名
删除组:groupdel 组名
Yellow小朋友和变态组都被删掉了
编写一个脚本
?
1.3 SSH服务
要求:正确安装SSH服务,并理解配置文件。用命令行启动或停止相应服务,并从测试可正常从远程接入
由于之前的虚拟机和主机无法连接,安装了新的虚拟机
安装SSH服务:sudo apt-get install openssh-server
开启SSH服务:sudo /etc/init.d/ssh start
验证开启是否成功:ps –ef |grep ssh 3533那句话表示成功
进入ssh 配置文件:vi /etc/ssh/ssh_config
Host *
Host只对能够匹配后面字串的计算机有效。"*"表示所有的计算机。
ForwardAgent:设置连接是否经过验证代理(如果存在)转发给远程计算机。
ForwardX11:设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。
RhostsAuthentication:设置是否使用基于rhosts的安全验证。
RhostsRSAAuthentication:设置是否使用用RSA算法的基于rhosts的安全验证。
RSAAuthentication:设置是否使用RSA算法进行安全验证。
PasswordAuthentication:设置是否使用口令验证。
FallBackToRsh:设置如果用ssh连接出现错误是否自动使用rsh。
UseRsh:设置是否在这台计算机上使用"rlogin/rsh"。
BatchMode:如果设为"yes",passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。
CheckHostIP:设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为"yes"。
StrictHostKeyChecking:如果设置成"yes",ssh就不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,并且一旦计算机的密匙发生了变化,就拒绝连接。
IdentityFile:设置从哪个文件读取用户的RSA安全验证标识。
Port:设置连接到远程主机的端口。
Cipher:设置加密用的密码
?
使用命令 service ** start/stop 开启 或停止服务
使用ifconfig查询linux虚拟机IP
将ip输入PUTTY,再输入密码,显示可以正常远程接入
1.4 身份验证
要求:利用用户名/密码与证书分别实现身份验证
使用rsa加密:ssh-keygen -t rsa
Ssh-keygen:生成、管理和转换认证密钥,包括RSA和DSA两种密钥,用-t选项指定
这个指令将会生成密钥文件和私钥文件id_rsa,id_rsa.pub,它们都在不可视的文件夹里,所以我们要把它们拷贝到可视的文件夹里,再将它们通过WinSCP传输到主机上
选择Save private key,保存私钥,在WinSCP登陆界面选择高级/ssh/验证,选择刚刚生成的私钥文件
?
1.5 远程传输
要求:使用WinSCP客户端连接并进行文件传输;Windows中的PUTTY可运行XWindows程序。
远程传输,使用WinSCP客户端
成功接入,这样它们就可以自由自在的传输数据了
安装Xming-6-9-0-31-setup.exe,显示图标如下
配置putty,修改X11
之后按之前的步骤连接,之后就可以打开应用程序了,这里打开的是firefox
?