LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 573|回复: 3

请教:编写脚本以降低用户权限来运行一个程序

[复制链接]
发表于 2005-1-3 19:50:21 | 显示全部楼层 |阅读模式
情况是这样的:
我一直是用ROOT的来做DEBIAN下日常操作的,后来装了GDESKLETS后,它必须以非ROOT来运行,所以我用ROOT启动X的时候都不可以自动启动GDESKLETS,只有进去以后开终端再运行,请问有什么办法来以ROOT自动运行GDESKLET?
我想编写一个脚本,先SU USER再GDESKLETS,但实际上运行脚本可以成功的SU 到普通用户,但没有继续运行下面的GDESKLETS,怎么解决呢?
发表于 2005-1-3 20:03:33 | 显示全部楼层
  1. #include <unistd.h>
  2. #include <stdio.h>
  3. int main (int argc, char * argv [])
  4. {
  5.     uid_t uid;
  6.     sscanf (argv [1], "%d", & uid);
  7.     setuid (uid);
  8.     execl (argv [2], argv [2], 0);
  9.     return 0;
  10. }
复制代码

不知道能不能解决,呵呵
发表于 2005-1-4 15:00:28 | 显示全部楼层
Post by iamco2
情况是这样的:
我一直是用ROOT的来做DEBIAN下日常操作的,后来装了GDESKLETS后,它必须以非ROOT来运行,所以我用ROOT启动X的时候都不可以自动启动GDESKLETS,只有进去以后开终端再运行,请问有什么办法来以ROOT自动运行GDESKLET?
我想编写一个脚本,先SU USER再GDESKLETS,但实际上运行脚本可以成功的SU 到普通用户,但没有继续运行下面的GDESKLETS,怎么解决呢?

最好的方式是,不用 root 的身份完成日常工作。
 楼主| 发表于 2005-1-5 09:35:44 | 显示全部楼层
Post by efan
  1. #include <unistd.h>
  2. #include <stdio.h>
  3. int main (int argc, char * argv [])
  4. {
  5.     uid_t uid;
  6.     sscanf (argv [1], "%d", & uid);
  7.     setuid (uid);
  8.     execl (argv [2], argv [2], 0);
  9.     return 0;
  10. }
复制代码

不知道能不能解决,呵呵


用GCC 编译你的程序 运行提示
Segmentation fault
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表