Trusted Solaris 開発ガイド

vfstab_adjunct ファイルからの属性の取得

vfstab_adjunct(4) ファイルには、遠隔マウントポイントとその関連セキュリティ情報が含まれます。システム管理者は、遠隔ワークステーションからローカルワークステーションにマウントされたファイルシステムが正しいセキュリティ属性を持つように、このファイルの設定と管理を行います。

次の例は、vfstab_adjunct(4) から行を取得して表示します。getvfsaent(3) ルーチンは、初めにファイルの先頭の行を読み取り、それに続く呼び出しごとに次の行を 1 つずつ読み取ります。getvfsaent(3) ルーチンは、入力ファイルに指定されたマウントポイントの行を読み取ります。


注 -

このコード例に示すように、stdio.h を必ずインクルードしてください。


#include <stdio.h>
 #include <tsol/vfstab_adjunct.h>

 main()
 {
 	struct 					vfsaent *entry;
 	char 					*vfsfile = "/etc/security/tsol/vfstab_adjunct";
 	char 					*file = "/shark/doc";
 	int					retval;
 	FILE					*fp;

 	fp = fopen(vfsfile, "r");
 	if (fp == NULL) {
 			printf("Can't open %s¥n", vfsfile);
 			exit(1);
 	}

/* ファイルを 1 行ずつ読み取る */
 	retval = getvfsaent(fp, &entry);
 	if (retval == 0) {
 			printf("Mount Point is %s ¥n Security Info is %s¥n",
 			entry->vfsa_fsname, entry->vfsa_attr);
 			free(entry);
 	}
 	else
 			printf("No entries!¥n");

 	fseek(fp, 0, 0);

/* 指定のマウントポイントの行を読み取る */
 	retval = getvfsafile(fp, &entry, file);
 	if (retval == 0) {
 			printf("Mount Point is %s ¥nSecurity Info is %s¥n",
 			entry->vfsa_fsname, entry->vfsa_attr);
 			free(entry);
 	}
 	else
 			printf("Mount point not found.¥n");
 	fclose(fp);
 }

printf 文によって、次のように出力されます。この vfstab_adjunct ファイルには、/opt/SUNWspro マウントポイントに対するエントリが 1 つだけあります。

Mount Point is /opt/SUNWspro

Security Info is slabel=[C]:allowed all

Mount Point not found