荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: everlove.bbs@bbs.shuoshuo.net (我是如此厌倦), 信区: Linux
标  题: unp第十四章学习体会
发信站: 寂寞森林 (Mon Sep 23 10:48:49 2002)
转信站: SZUBBS!news2.happynet.org!news.happynet.org!LonelyWood


发信人: clown (梧桐叶), 信区: UNP
标  题: unp第十四章学习体会
发信站: UNIX编程 (2001年09月24日20:52:05 星期一), 站内信件

Unix域协议并不是一个实际的协议族,而是IPC通信的一个
替代品,可以使在同一台主机上的不同进程利用socket的
api进行通信。Unix域也提供了两种类型的套接口:字节流
套接口和数据报套接口。它的表示方法是文件系统里面的
文件名。
我的感觉是Unix域协议和管道差不多,而且Unix域协议建立
的文件后面的表示方法也与FIFO一样,都是有一个"="标志
(ls -F命令)。

后面有一个使用Unix域协议进行回射的例子。

Unix域协议主要用在描述子传递和验证发送者的凭证。

1)描述子传递
使用Unix域协议来传递描述子的目的主要是利用setuid到
root的程序,就可以访问原来没有权限打开的文件。

2)验证发送者的凭证
目前Linux对此还不支持,而且进行验证的结构体也全部改了。
下面是Linux中定义的结构<bits/socket.h>:
struct ucred {
    pid_t pid;
    uid_t uid;
    gid_t gid;
}
该结构是由内核填充,随数据一起发送的,因此用户无法伪造,
否则就可以进行攻击了。

后面也有一个这样的例子。

可惜书本上面没有Unix域协议和IPC之间效率的比较,不知道谁
有这方面的经验?


--
易朽的是生命,似那转瞬即谢的花朵;然而永存的,是对未来的渴望,
是那生生世世传递下来的,不朽的,生的激情。每一朵勇敢开放的花,
都是一个死亡唇边的微笑。
※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 202.114.1.61]

--
我站在夜的尽头
窗外的雨悄悄坠落





※ 来源:.寂寞森林 http://bbs.shuoshuo.net  ◆ FROM: 211.161.158.231


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店