永发信息网

linux 中的特殊s 位,这个到底有什么用 ?

答案:2  悬赏:30  手机版
解决时间 2021-02-14 20:49
linux 中的特殊s 位,这个到底有什么用 ?
最佳答案
s位的作用是当有普通用户执行了该文件时会拥有该文件属主对该文文件的权限。追问我下面的那个详细的ping 例子,我不懂,可以解释吗追答这个s位通常都是给可执行的文件设置的。使执行者拥有对文件属主对资源的权限。最明显的例子就是/sbin/passwd。用户的密码是在/etc/shadow中存放的。普通用户没权限更改,但用户运行/sbin/passwd时为了确保普通用户能够修改自己的密码就更新/etc/shadow。所以对/sbin/passwd设置s位,使普通用户在运行/sbin/passwd时拥有root的权限,能够更新/etc/shadow文件。

至于ping命令的s位,目的不是限制普通用户的使用,而是让普通用户在使用ping时再拥有一些对其他文件的权限。追问我试了试,我讲passwd 的s 位去掉了,然后更新为 755,那么无论root 还是普通用户都可以执行,但是,我把ping 也改成755,但是root 可以运行,但是普通用户不行,为何,求解啊追答没有s位普通用户虽然能够运行passwd,但是改不了密码。
执行ping是需要读取别的文件支持的(我不知道是哪个文件比如网卡的配置文件,比如TCP/IP的协议文件),普通用户没有对那些文件的权限,所以,只对ping有权限是不行的。追问还在吗 ? 我用root 在 根目录下面新建一个文件a,又给了他s 的权限,chmod u+s /a ,那么其他的普通户用,使用这个文件,是拥有root 一样的权限的,那为什么,删不掉这个文件呢追答有权限并不是对正在使用的这个文件有权限,而是对和这个可执行程序相关的文件有root权限。下班了,等我想个生活化的例子给你解释吧。
全部回答
ping要使用raw socket接口,哪个是受到权限控制的,类似的有tcpdump。要不然每个用户写一个监听程序,看看root连接网络怎么连接,看看root怎么从键盘输入数据(strace)还了得!
所以,ping执行是是以root身份执行的!这种suid的程序都很危险。
楼上把大部分问题说得差不多了,我给他补充一下,为什么需要root权限。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上太空是什么感觉呢…
杨健文化教育培训学校地址在哪,我要去那里办
在CAD中为一条直线制作平行线用什么命令()
宝行棋社地址在什么地方,想过去办事
鸡蛋和甜蜜素起反应么
耳石症一般出现在什么年龄
有人到罗马旅游,夜间问一老者,“罗马夜间,
2015年贺岁普通纪念币 羊年纪念币第一轮和第
小黄棋牌室地址有知道的么?有点事想过去
厦门口碑比较好的家庭旅馆
君越变速箱5kdr是不是6t50
四年级下册期末考试卷
变压器基础知识
上海晃晃红中棋牌地址在什么地方,想过去办事
阜平到太原在阜平站几点发车票价多少
推荐资讯
看到前女友跟别人在一起、
七个二开锁(姑孰镇振兴中路169号七个二开锁)
苏农农资连锁公司配送中心我想知道这个在什么
大邑县图书馆地址好找么,我有些事要过去
维达薇尔卫生巾怎么样
灰色的泰迪和黑色泰迪交配出什么样的狗
《棠梨煎雪 茶道 陶然四季 杏花弦外雨 这些是
招远市温泉街道街柳社区发展协调委员会地址有
有没有能练到保罗的控球实力的控球计划
重庆相安食品厂地址在哪,我要去那里办事
程序去掉a[j] = c - 48;为什么会无法执行了?
中国邮政储蓄银行墨公路邮政储蓄所地址有知道
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?