GNU/Linux >> Belajar Linux >  >> Linux

Ubah pemilik dan grup di C?

Untuk melengkapi jawabannya, di Linux berikut ini dapat digunakan (Saya telah menguji pada Ubuntu ):

#include <sys/types.h>
#include <pwd.h>
#include <grp.h>

void do_chown (const char *file_path,
               const char *user_name,
               const char *group_name) 
{
  uid_t          uid;
  gid_t          gid;
  struct passwd *pwd;
  struct group  *grp;

  pwd = getpwnam(user_name);
  if (pwd == NULL) {
      die("Failed to get uid");
  }
  uid = pwd->pw_uid;

  grp = getgrnam(group_name);
  if (grp == NULL) {
      die("Failed to get gid");
  }
  gid = grp->gr_gid;

  if (chown(file_path, uid, gid) == -1) {
      die("chown fail");
  }
}

Anda dapat menggunakan chmod , fchmodat dan/atau fchmod panggilan sistem. Ketiganya terletak di <sys/stat.h> .

Untuk kepemilikan, ada chown dan fchownat , keduanya di <unistd.h> .


Linux
  1. Buat File Sebagai Pengguna Dan Grup Yang Berbeda?

  2. Bagaimana Cara Menemukan Pemilik Dan Grup Direktori?

  3. Kelola grup dan aturan keamanan

  1. Bagaimana saya bisa mengurutkan berdasarkan pemilik dan grup?

  2. Menggunakan chown untuk mengubah pemilik grup direktori tidak diizinkan....Mengapa?

  3. Ubah pemilik dan grup hanya untuk pemilik tertentu

  1. Cara membuat dan menghapus grup pengguna di Linux

  2. Diutamakan Pengguna Dan Pemilik Grup Dalam Izin File?

  3. 12 Contoh Perintah Cown Linux untuk Mengubah Pemilik dan Grup