‘Linux/GNU’ 标签下的文章
2009/0428

Linux可以完美运行影音风暴、PPlive、搜狗输入法哦

分类:Linux/GNU | 发表评论(8 条评论) | 点击量:1203次

Linux可以完美运行影音风暴、PPlive、搜狗输入法哦~

神奇吧~~?

有图有真相

影音风暴

screanshot.jpg

PPlive、搜狗输入法

creanshot3.jpg [相关文章]
2008/1229

linux使普通用户获得root权限的vmsplice系统调用漏洞分析

分类:Linux/GNU | 发表评论(1 条评论) | 点击量:719次
linux使普通用户获得root权限的vmsplice系统调用漏洞分析

2008期末课程小论文 之一

《linux使普通用户获得root权限的vmsplice系统调用漏洞分析》

vmsplice系统调用是linux内核2.6.17第一次引入的,随后被发现存在能让普通用户提升到root权限的漏洞。该漏洞影响的版本网络上笼统的说法是:2.6.17-2.6.24.1,实际上更确切的说是:2.6.17- 2.6.22.17,2.6.23-2.6.23.15 和 2.6.24-2.6.24.1.

关于这个漏洞,国内很少有人写过什么原创性的文章进行介绍,因为上研究生操作系统课的课程报告就是做这个,所以把它放上来。漏洞虽然已经补上,但学习其机理,还是比较有好处,有意思的。

一、预备知识

1. 本文的一些约定

这个颜色的代码来自攻击程序
这个颜色的代码来自内核
这个颜色表示重要的地方,或者安装程序逻辑,下一步要进入的函数
所提到的攻击代码是本文附带的exp.c

2. vmsplice()介绍

原型:long vmsplice(int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flags);
其中:

struct iovec
{
void __user *iov_base;
__kernel_size_t iov_len;
};

这个系统调用将用户空间的内存映射到内核空间,从而避免了实际的内存写操作,提高了系统效率。这个功能的是主要是通过fs/splice.c的do_vmsplice()来实现。

3. 有关Page的常量

#define PAGE_SHIFT 12
#define PAGE_SIZE (1UL << PAGE_SHIFT)
/*1UL:32位的unsigned int 1,左移12位,PAGE_SIZE=0×1000*/
#define PAGE_MASK (~(PAGE_SIZE-1))
/*PAGE_MASK=0×000*/

二、Splice系统调用漏洞考古

2006 Jun 18
在发布的Linux kernel 2.6.17中引入vmsplice(),用于提高性能。
没有人知道,对应的fs/splice.c中的get_iovec_page_array()函数存在漏洞。

[相关文章]
2008/1027

Shell中的export & sh & source

分类:Linux/GNU | 发表评论 | 点击量:2273次

今天做了几个实验总算把export+变量的用法给弄清楚了,过程不说,留下结果以备忘:

1. 当进程创建一个字进程时候,父进程并不会将普通变量的值传递给它的子进程。

而export就是解决这个问题用的。在父进程中export A 后,在子进程中就可以使用变量A了。

2. sh+脚本:重新建立一个子shell执行脚本里面的语句,该子shell继承父shell的变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

可以这么理解:打开一个终端程序 = sh = 执行bash命令

3. source+脚本:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

所以,假设one.sh里面的内容是:export test=123 ;two.sh里面的内容是:test=123 。

那么,sh ./one.sh 在效果上等同于 source two.sh

[相关文章]
2008/0408

7个例子快速入门shell通配符

分类:Linux/GNU | 发表评论 | 点击量:1414次


代表0个或多个字符

代表一个字符
例子1:
ls 11*2?3      显示11开头的接着是若干个字符,最后是2加一个字符和3结束的文件

[]
可以理解为一个字符,与?的区别是[]里面的内容限定了这个字符的范围
例子2:
[Cc]hange[Ll]og
将与 Changelog、ChangeLog、changeLog 以及 changelog 匹配。在需要大小写匹配的时候,使用括弧通配符很有用。
例子3:
ls /etc/[0-9]* 将列出 /etc 中以数字开头的所有文件。
ls /tmp/[A-Za-z]* 将列出 /tmp 中以大写字母或小写字母开头的所有文件。

[相关文章]
2008/0303

设置SCIM输入法默认输入状态为英文

分类:Linux/GNU | 发表评论 | 点击量:1539次

默认是一打开就是中文的,大多时候是需要输入英文的,需要按shift很麻烦.可以修改.
sudo ~/.scim/config
找到/FrontEnd/IMOpenedByDefault = true 改成false
重新加载设置一下就OK了.

[相关文章]
2008/0222

linux界面优化,实现3D桌面,苹果主题。

分类:Linux/GNU, 未分类日志 | 发表评论 | 点击量:2349次

http://www.mobile01.com/newsdetail.php?id=4006

台湾某人已经写得非常好了。

另,推荐使用这个主题:http://compiz-themes.org/CONTENT/content-files/26050-Blendedx4.tar.bz2
下载后,右击桌面选最后一项[chang…..]在Appearance Preferences里面点install安装,选择刚才下载的这个东西就OK 了,无须解压。

最终效果:

[相关文章]
2008/0217

linux常见配置文件&常见服务对照表

分类:Linux/GNU | 发表评论 | 点击量:681次

全局配置文件
————
系统初始化
/etc/inittab 运行级别、控制台数量
/etc/timezone 时区
/etc/inetd.conf 超级进程
文件系统
/etc/fstab 开机时挂载的文件系统
/etc/mtab 当前挂载的文件系统
用户系统
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 群组信息
/etc/gshadow 群组密码
/etc/sudoers Sudoer列表
Shell
/etc/shell 可用Shell列表

[相关文章]
2008/0211

两部与linux有关的纪录片:《Revolution.OS》 《The Code Linux》

分类:Linux/GNU | 发表评论(3 条评论) | 点击量:1541次

这里可以下载。
http://www.tooooold.com/ftp_sou_suo/Revolution.OS.html
http://www.tooooold.com/ftpsearch.cgi?cmd=ftpsearch&q=The+Code+Linux

速度很快!
这里也可以下载。
http://lib.verycd.com/2005/08/16/0000061272.html

[相关文章]
2008/0203

最基础的Ubuntu文件移动|复制|打包|解包|挂载iso总结

分类:Linux/GNU | 发表评论(1 条评论) | 点击量:2274次

文件的移动和复制

由于linux对文件的管理有非常严格的机制,使得不能对当前用户没有权限的文件夹文件进行操作.所以想通过windows那样左键拖到目的文件夹上放开进行复制是不可以的(除非是HomeFolder这个相当于windows里面我的文档这个文件夹下面).

我目前所知:复制移动操作3个方法.

1.sudo nautilus 以root身份打开文件管理器

2.sudo cp源文件位置目标文件位置 (移动cp改成mv)

3. 试试鼠标中键拉一个文件去另外一个地方。

[相关文章]