UNIX环境高级编程之进程的用户ID和组ID
扫描二维码
随时随地手机看文章
用户user1执行完需要user2才有权限的任务后,恢复进程的有效用户ID为user1的用户ID,等需要执行user2才有权限的任务时,又可以将进程的有效用户ID设置为user2的userID,这样互相切换,而不会导致setuid调用失败。
实践部分
创建用户和文件
以root身份创建用户:
useradd –m user1
useradd –m user2
以user2身份创建文件:
touch proc.c
touch user2.txt
编辑proc.c,写入如下内容:
编译proc.c为proc:
gcc -g -o proc proc.c
用户user2执行proc:
用户user1执行proc:
用户user2执行如下命令:
chmod u+s proc
chmod g+s proc
用户user1再次执行proc: