为什么我的 pam 适用于 sudo 而不适用于 ssh?
Why does my pam work for sudo and not for ssh?
我编写了一个 PAM 模块,当我们执行 $ sudo su
命令时,它会显示二维码。 PAM只显示二维码,不验证也不问密码
我尝试将此 PAM 与 ssh 一起使用,但屏幕上没有显示任何内容。有人知道为什么吗?
现在我有一半的二维码...
这个函数是在终端上绘制二维码:
void output_ansi(FILE * file, const struct qr_bitmap * bmp)
{
const char * out[2] = {
" ",
"3[7m 3[0m",
};
unsigned char * line;
size_t x, y;
line = bmp->bits;
for (y = 0; y < bmp->height; ++y) {
fprintf(file, "%d\n",y );
for (x = 0; x < bmp->width; ++x) {
int mask = 1 << (x % CHAR_BIT);
int byte = line[x / CHAR_BIT];
fprintf(file, "%s", out[!!(byte & mask)]);
}
fputc('\n', file);
line += bmp->stride;
}
}
但是通过在 for 循环中显示 y 的值,我注意到前 9 行没有打印出来...有人知道问题出在哪里吗?
我编写了一个 PAM 模块,当我们执行 $ sudo su
命令时,它会显示二维码。 PAM只显示二维码,不验证也不问密码
我尝试将此 PAM 与 ssh 一起使用,但屏幕上没有显示任何内容。有人知道为什么吗?
现在我有一半的二维码... 这个函数是在终端上绘制二维码:
void output_ansi(FILE * file, const struct qr_bitmap * bmp)
{
const char * out[2] = {
" ",
"3[7m 3[0m",
};
unsigned char * line;
size_t x, y;
line = bmp->bits;
for (y = 0; y < bmp->height; ++y) {
fprintf(file, "%d\n",y );
for (x = 0; x < bmp->width; ++x) {
int mask = 1 << (x % CHAR_BIT);
int byte = line[x / CHAR_BIT];
fprintf(file, "%s", out[!!(byte & mask)]);
}
fputc('\n', file);
line += bmp->stride;
}
}
但是通过在 for 循环中显示 y 的值,我注意到前 9 行没有打印出来...有人知道问题出在哪里吗?