实践一:Linux基础实践
一、Linux基础实践
1.1
1. 掌握软件源的维护方法,配置系统使用软件源镜像。掌握通过软件源来查找,安装,卸载,更新软件的方法。
这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述了。
1.2
1. 掌握Linux权限管理的概念。掌握与权限管理相关的9bit的含义与设置方法。
- Linux权限管理:Linux是一个多用户多任务操作系统,即可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务。为保证互不影响,Linux进行文件权限划分与管理,每个用户在权限允许的范围内完成不同的任务
- 转换为root模式:sudo su(将切换为root身份,并要求输入当前用户的password)
权限管理:
①文件访问者的分类(用户级别)
- 文件和文件目录的所有者:u(User)
- 文件和文件目录的所有者所在的组的用户:g(Group)
- 其它用户:o(Others)
②文件访问权限的种类
基本权限
读(Read):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 写(Write):对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 执行(execute):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.“—”表示不具有该项权限
特殊权限
suid:只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行 sgid:只能应用在可执行文件上,使任意用户在执行可文件时,将以拥有组成员的身份执行 粘着位:只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象
③文件权限值的表示方法
第一个字符显示文件的类型:
“-”表示普通文件。
“d”表示目录文件。
“l”表示链接文件。
“c”表示字符设备。
“b”表示块设备。
“p”表示命名管道,比如FIFO文件(先进先出)。
“f”表示堆栈文件,比如LIFO(后进先出)。
“s”表示套接字。第一个字符之后有三个三位字符组:
第一个三位字符组表示文件拥有者(u)对该文件的权限。
第二个三位字符组表示文件用户组(g)对该文件的权限。
第三个三位字符组表示系统其他用户(o)对该文件的权限。
若该用户组对此没有权限,一般显示“-”字符。注意:目录权限和文件权限有一定的区别。对于目录权限而言,r代表允许列出该目录下的文件和子目录,w代表允许生成和删除该目录下的文件,x代表允许访问该目录。
字符表示方法
r--: 只读 -w-: 写
--x: 执行 rw-: 读写
-wx: 写和执行 r-x : 读和执行
rwx : 读写执行 ---: 无权限8进制数值表示方法
r:
w:
x:
rw:
rx:
wx:
rwx:
:代表没有权限
2. 掌握chmod指令的使用
- 功能:设置文件的访问权限
- 格式:chmod [参数] 权限 文件名
参数:
R:递归修改目录文件的权限
V:显示指令执行过程
reference=<参考文件或目录>:把指定文件或目录的权限全部设成与参考文件或目录的权限相同
注意:只有文件的拥有者和root才可以改变文件的权限
chmod命令权限值的格式: 用户标识符 +/-/= 权限字符
①用户标识符:
u:拥有者
g:拥有者同组用户
o:其它用户
a:所有用户②+/-/=:
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限③权限字符:可以是“r”(只读)、“w”(可写)和“x”(可执 行),以及它们的组合。
④示例:取消文件拥有者对haha文件夹的可读、可写、可运行权限
3. 掌握chown指令的使用
- 功能:修改文件的拥有者和组别
- 格式:chown [参数] 用户名或用户组名 文件名
参数:
R:递归改变目录的拥有者
f:不显示拥有者的详细信息
- 示例:
注意:必须在root模式下才有权限修改文件的拥有者和组别。
4. 掌握用户与用户组的维护方法
- 更改root用户:sudo su
创建用户:
useradd 用户名
cat /etc/passwd(在 /etc/passwd 文件中增添一行记录)
- 删除用户:userdel 用户名
创建组:
groupadd 组名
grep 组名 存放地址(/etc/group)
- 删除组:groupdel 组名
- 设置密码:passwd 用户名
5. 修改开机脚本或编写脚本
- 进入/etc/init文件夹,打开rc-sysinit.conf文件
用线标记的那一行代码:evn DEFAULT_RUNLEVEL=2的意思是,系统当前启动后runlevel(运行级别)是2。修改数字就可实现切换用户模式的基本操作。
Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别的原理
. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
. 在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
. rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
. 系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件
对于以K开头的文件,系统将终止对应的服务
对于以S开头的文件,系统将启动对应的服务
. 查看运行级别用:runlevel
. 进入其它运行级别用:init N
. init0为关机,init 6为重启系统
修改/etc/rc2.d/Sxxgdm 为 /etc/rcx.d/Kxxgdm:sudo mv Sxxgdm Kxxgdm(S开头的表示启动,K开头的表示不启动,该语句的作用就是终止rcx.d目录所对应的服务。)
- 删除某开机自启动文件:sudo update-rc.d –f xxx remove(xxx是文件名中除了S和K以外的非数字部分)
6. 添加开机自启动文件
- 首先下载vim,在/etc/init.d文件夹下编写一个新的脚本文件haha.sh
- 然后给脚本文档设置权限,执行命令sudo chmod 755 haha.sh后可以看到haha.sh变成了可执行文件(绿色)
- 将脚本的路径写入/etc/init.d/rc.local中
- sudo update-rc.d haha.sh defaults 99(99为启动顺序)
7. 理解并修改PATH环境变量
概念:$PATH决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当运行一个程序时,Linux在这些目录下进行搜寻编译链接
编辑PATH声明的格式:
PATH=$PATH:<PATH >:<PATH >:<PATH3>:-----:<PATH N>
环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile
- 可用 export 命令查看PATH值
- 可用 #echo $PATH 命令单独查看PATH环境变量
修改环境变量
. # vim/etc/profile
. 在文档最后添加:export PATH="目录:$PATH",保存并退出
. #source/etc/profile
1.3
SSH概念:Secure SHell。通过使用SSH可以把所有传输的数据进行加密,防止中间人攻击,而且也能够防止DNS和IP欺骗。而且传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为FTP、POP、甚至PPP提供一个安全的“通道”。
1. 正确安装SSH服务,并理解配置文件
- 以root权限登陆linux系统并打开终端命令。输入 rpm -qa |grep ssh 查找当前系统是否已经安装SSH服务。如果显示没有安装则执行 apt-get install openssh-server 命令来安装SSH服务
- 开启SSH服务,并使用ps和grep命令通过管道查看特定用户进程
- 运行netstat -antp | grep sshd 命令验证是否启动了22端口(22端口为ssh默认端口,确认SSH服务的开启状态)
- 运行 vi /etc/ssh/ssh_config 命令进入ssh配置文件
Port :设置连接到远程主机的端口。
Cipher 3des:设置加密用的密码。
Mac:设置认证所使用的密码。
ListenAddress 192.168.1.1:设置sshd服务器绑定的IP地址。
HostKey /etc/ssh/ssh_host_key:设置包含计算机私人密匙的文件。
ServerKeyBits :定义服务器密匙的位数。
……
2. 用命令行启动或停止相应服务,并从测试可正常从远程接入
- 启动SSH服务:sudo /etc/init.d/ssh start
- 停止SSH服务:sudo /etc/init.d/ssh stop
- 使用ifconfig查询linux虚拟机IP
- 查看本机IP地址和虚拟机IP地址,将它们改为在同一个网段,并将网络设置更改为桥接网卡模式
- 在主机或其他终端中使用ssh服务(本例中使用windows7中的putty软件接入)
1.4
1. 利用用户名/密码实现身份认证
2. 利用证书实现身份认证
- 运行puttygen.exe 选择生成密钥对(生成过程中需要在当前程序活动窗口中滑动鼠标以生成随机密钥)。生成密钥对如下图所示。点击save private 将私钥.ppk 文件保存到本地。并复制公钥内容。
- 使用PUTTY连接主机,获得root权限。使用命令vim ~/.ssh/authorized_keys打开要修改的文件将公钥内容粘贴进去,保存并退出。
通过命令vim /etc/ssh/sshd_ config 修改配置文件,找到下⾯两行代码并去掉注释:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
之后保存并退出,断开连接。
- 再次使用PUTTY进行连接时,选择“连接”->“SSH”->“认证”,选择保存在本地的私钥文件
- 结果使用公钥认证连接成功
1.5
1. 使用WinSCP 客户端连接并进行文件传输
- 输入Linux的ip地址、用户名和密码,SSH服务默认端口号为22(不要更改)
- 弹出对话框提示缓存密钥,选择“是”
- 登陆成功后即可进入界面进行文件传输
2. Windows中的PUTTY可运行XWindows程序
- 安装Xming,在桌面上打开Xming的快捷方式,并在目标的命令行中加上参数-ac
- 开启Xming程序,在PUTTY中勾选允许X11映射
在PUTTY中以root账号登陆,编辑SSH服务器的配置文件vi /etc/ssh/sshd_config并开启TCP转发和X11转发,即加入如下两句:
AllowTcpForwarding yes
X11Forwarding yes
注:因为我登陆用户名与存放公钥的文件夹的拥有者不同,所有在配置文件内额外将StrictModes yes改为StrictModes no,而且生产机器禁止ROOT远程SSH登录,所以还需增加PermitRootLogin yes这句。(StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的。)
- 打开PUTTY,在终端登陆Linux。将输出映射到本机:export DISPLAY=本机IP:0.0(0.0表示Xming 的display number为0,如果display number设置成其他值则需保持一致)
- 在PUTTY中输入命令即可打开相应的程序,如firefox、gedit
附录
参考资料
- Linux系统的7个运行级别:http://blog.chinaunix.net/uid-22746363-id-383989.html
- Linux下查看和添加PATH环境变量:http://blog.sina.com.cn/s/blog_7dc29ca001017j6y.html
- SSH配置文件:http://www.cnblogs.com/phoenix/articles/115476.html
- Ubuntu为root帐号开启SSH登录: http://blog.csdn.net/lichangzai/article/details/39379153
实践一:Linux基础实践的更多相关文章
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- Linux及安全——Linux基础实践
Linux及安全——Linux基础实践 一.实践一:掌握软件源的维护方法,配置系统使用教育网内的软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 1.软件源的维护方法 Ubuntu的软件 ...
- Linux基础实践
Linux基础实践 1.1 应用安装 要求:掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法 备份原地址列表文件:sudo cp /etc/apt/sou ...
- 2017-2018-2 20179204《网络攻防实践》linux基础
我在实验楼中学习了Linux基础入门课程,这里做一个学习小结. 第一节 linux系统简介 本节主要介绍了linux是什么.发展历史.重要人物.linux与window的区别以及如何学习linux. ...
- 【实践报告】Linux基础实践一
[chmod 命令] chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限. 该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设 ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- 网络对抗实验一 逆向及Bof基础实践
网络对抗实验一 逆向及Bof基础实践 一.实验目的 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. ...
- Linux课题实践一
Linux课题实践一 20135318 刘浩晨 1.1应用安装 (1)掌握软件源的维护方法,配置系统使用软件源镜像 删除过期或者重复的软件包:进入”系统设置“-”软件和更新”-”ubuntu软件“- ...
随机推荐
- 关于配置服务器(IIS7)
服务器Server2003 ,无限开机动画慢动作重播,一怒而重装server2008 然,重点就是系统装好了 IIS装好了 ,发布网站 开始各种错了!!! 1.第一个错 额,错误信息说 :由于权限不足 ...
- Java笔记5-修饰符,重载,递归,数组
方法的定义修饰符 返回类型 方法名(参数列表) throws 异常类型列表 { //方法体}==如何来设计一个方法:案例:请根据如下的业务分别设计出方法1.根据给定的年份判断是否是闰年?public ...
- Visual SVN Server启动失败0x8007042a错误
今天在程序VisualSVNServer界面中启动服务时,报错如下: VisualSVNServerServer service failed to start:服务已返回特定的服务器错误 ...
- [转]MySQL服务器上添加一个允许远程访问的用户
MySQL默认是没有开启远程控制的,必须添加远程访问的用户,如果是安装版的话,从MySQL提供的控制台进入. 用root用户登陆,然后: grant all privileges on 数据库名.表名 ...
- dbms_stats包更新、导出、导入、锁定统计信息
dbms_stats包问世以后,我们可通过一种新的方式来为CBO收集统计数据.目前,已经不再推荐使用老式的Analyze分析表和dbms_utility方法来生成CBO统计数据.dbms_stats能 ...
- HA(High available)--Heartbeat高可用性集群(双机热备)菜鸟入门级
HA(High available)--Heartbeat高可用性集群(双机热备) 1.理解:两台服务器A和B ,当A提供服务,B闲置待命,当A服务宕机,会自动切换至B机器继续提供服务.当主机恢复 ...
- 【学】CSS3的3D动画 ——3D旋转之骰子样式的钟表(2)上
这个是3D旋转的进阶版,是一个类似与骰子的正方体.这个版本只有秒数的个位数,还没有写整个钟表,下面那个版本好好想想该怎么写 这个效果需要用到transform-style: preserve-3d. ...
- HTC Vive开发笔记之手柄控制
怎么安装设备,配置环境我就不说了,自行百度,教程很多也很简单.接下来说下Vive手柄的控制. 手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮: 第一 ...
- MRD
搜索 复制
- ubuntu 下载额外数据不成功”的恼人提示通知
最近用Ubunt也遇到这个问题,搜到这个答案 参考原文链接: http://forum.ubuntu.org.cn/viewtopic.php?t=387865 2.移除“下载额外数据不成功”的恼人提 ...