whoami程序的一种实现,用于talk程序中查看远程用户的

来源:互联网 发布:中国隐形富豪知乎 编辑:程序博客网 时间:2024/06/08 03:12
void Whoami(int sockfd) {
        struct passwd *pwd;
        char buffer[MAXLINE];
        uid_t uid;


        uid = getuid();
        pwd = getpwuid(uid);
        if (pwd == NULL) {
                err_ret("error");
                return;
        }
        if (snprintf(buffer,sizeof(buffer),"whoami:%s %s %ld %ld %s %s %s\n",pwd->pw_name,pwd->pw_passwd,(long)pwd->pw_uid,(long)pwd->pw_gid,pwd->pw_gecos,pwd->pw_dir,pwd->pw_shell) <0)
                err_ret("error in snprintf");
        writen(sockfd,buffer,strlen(buffer));
        return;
}