linux中的一个特殊文件: devtcp

linux中的一个特殊文件: devtcp,第1张

linux中的一个特殊文件: /dev/tcp ,打开这个文件就类似于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

/dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口。如果主机以及端口存在,就建立一个socket 连接。将在,/proc/self/fd目录下面,有对应的文件出现。

以读写方式打开/dev/tcp,并指定服务器名为: www.csdn.net ,端口号为:80,指定描述符为8。

要注意的是:/dev/tcp本身是不存在的。

向文件中随便写一些数据:

GET请求发送给socket连接。

读取返回的信息:

从socket读取返回信息,显示为标准输出

关闭socket的输入,输出

https://blog.csdn.net/zhjutao/article/details/8622751

https://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html

文件的特殊权限有三种:1、suid2、sgid3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下这三种权限。

SUID:

1、需要注意的是,只对二进制可执行程序有效,不能为普通文件

2、发起者对程序文件必须拥有执行权限

3、启动为进程之后,其进程的宿主为原程序文件的宿主

4、SUID设置在目录上毫无意义。

SGID:

可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录。

Sticky:

默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7936572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存