当前位置: 技术问答>linux和unix
程序如何动态改变执行权限?
来源: 互联网 发布时间:2016-09-19
本文导语: 写个cgi程序,默认是没有root执行权限的,所以连system都不能调用,在程序中如何动态改变到root权限,执行完操作又恢复成原来的权限? | 通过 set-user-ID办到, 运行的程序,如果这个文件...
写个cgi程序,默认是没有root执行权限的,所以连system都不能调用,在程序中如何动态改变到root权限,执行完操作又恢复成原来的权限?
|
通过 set-user-ID办到, 运行的程序,如果这个文件的程序 会拥有 此user的权限。 具体你想怎么实现 看一下相关的函数。
if the owner of the file is the superuser and if the file's set-user-ID bit is set, then while that program file is running as a process, it has superuser privileges. This happens regardless of the real user ID of the process that executes the file.
这是apue里的一段话 你看一下
if the owner of the file is the superuser and if the file's set-user-ID bit is set, then while that program file is running as a process, it has superuser privileges. This happens regardless of the real user ID of the process that executes the file.
这是apue里的一段话 你看一下
|
问题set-user-ID同样需要root先给你授权。
你这个效果就像是黑客效果 普通用户提升到root权限
你这个效果就像是黑客效果 普通用户提升到root权限
|
suid。不行哈。我也觉得。如果使用suid,就是root给你授权了。
你这个相当于强行。。。
你这个相当于强行。。。
|
设置suid酒可以了
用root设置suid
然后其他用户就可用了
比如
chmod 4777 test,txt
可用参数
4(set uid)
2(set gid)
1(sticky)
你设置uid就行啦
用root设置suid
然后其他用户就可用了
比如
chmod 4777 test,txt
可用参数
4(set uid)
2(set gid)
1(sticky)
你设置uid就行啦
|
suid的目的就是为了做这件事的, 好好理解suid的作用吧. 没有这个需求suid提出来又是为了干啥呢?
|
suid的目的就是为了做这件事的, 好好理解suid的作用吧. 没有这个需求suid提出来又是为了干啥呢?
--------------------
suid不是也要root先设置么?
--------------------
suid不是也要root先设置么?