用户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: