mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-21 06:45:29 -06:00
copy_file_as_user function: drop not needed arguments
This commit is contained in:
parent
eb87b417e2
commit
87548960b8
3 changed files with 17 additions and 16 deletions
|
|
@ -508,7 +508,7 @@ void logargs(int argc, char **argv) ;
|
|||
void logerr(const char *msg);
|
||||
void set_nice(int inc);
|
||||
int copy_file(const char *srcname, const char *destname, uid_t uid, gid_t gid, mode_t mode);
|
||||
void copy_file_as_user(const char *srcname, const char *destname, uid_t uid, gid_t gid, mode_t mode);
|
||||
void copy_file_as_user(const char *srcname, const char *destname, mode_t mode);
|
||||
void copy_file_from_user_to_root(const char *srcname, const char *destname, uid_t uid, gid_t gid, mode_t mode);
|
||||
void touch_file_as_user(const char *fname, mode_t mode);
|
||||
int is_dir(const char *fname);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
#define O_PATH 010000000
|
||||
#endif
|
||||
|
||||
static void skel(const char *homedir, uid_t u, gid_t g) {
|
||||
static void skel(const char *homedir) {
|
||||
char *fname;
|
||||
|
||||
// zsh
|
||||
|
|
@ -50,7 +50,7 @@ static void skel(const char *homedir, uid_t u, gid_t g) {
|
|||
exit(1);
|
||||
}
|
||||
if (access("/etc/skel/.zshrc", R_OK) == 0) {
|
||||
copy_file_as_user("/etc/skel/.zshrc", fname, u, g, 0644); // regular user
|
||||
copy_file_as_user("/etc/skel/.zshrc", fname, 0644); // regular user
|
||||
fs_logger("clone /etc/skel/.zshrc");
|
||||
fs_logger2("clone", fname);
|
||||
}
|
||||
|
|
@ -74,7 +74,7 @@ static void skel(const char *homedir, uid_t u, gid_t g) {
|
|||
exit(1);
|
||||
}
|
||||
if (access("/etc/skel/.cshrc", R_OK) == 0) {
|
||||
copy_file_as_user("/etc/skel/.cshrc", fname, u, g, 0644); // regular user
|
||||
copy_file_as_user("/etc/skel/.cshrc", fname, 0644); // regular user
|
||||
fs_logger("clone /etc/skel/.cshrc");
|
||||
fs_logger2("clone", fname);
|
||||
}
|
||||
|
|
@ -98,7 +98,7 @@ static void skel(const char *homedir, uid_t u, gid_t g) {
|
|||
exit(1);
|
||||
}
|
||||
if (access("/etc/skel/.bashrc", R_OK) == 0) {
|
||||
copy_file_as_user("/etc/skel/.bashrc", fname, u, g, 0644); // regular user
|
||||
copy_file_as_user("/etc/skel/.bashrc", fname, 0644); // regular user
|
||||
fs_logger("clone /etc/skel/.bashrc");
|
||||
fs_logger2("clone", fname);
|
||||
}
|
||||
|
|
@ -135,7 +135,7 @@ static int store_xauthority(void) {
|
|||
else
|
||||
errExit("fopen");
|
||||
|
||||
copy_file_as_user(src, dest, getuid(), getgid(), 0600); // regular user
|
||||
copy_file_as_user(src, dest, 0600); // regular user
|
||||
fs_logger2("clone", dest);
|
||||
selinux_relabel_path(dest, src);
|
||||
free(src);
|
||||
|
|
@ -183,7 +183,7 @@ static int store_asoundrc(void) {
|
|||
else
|
||||
errExit("fopen");
|
||||
|
||||
copy_file_as_user(src, dest, getuid(), getgid(), 0644); // regular user
|
||||
copy_file_as_user(src, dest, 0644); // regular user
|
||||
selinux_relabel_path(dest, src);
|
||||
fs_logger2("clone", dest);
|
||||
free(src);
|
||||
|
|
@ -207,7 +207,7 @@ static void copy_xauthority(void) {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
copy_file_as_user(src, dest, getuid(), getgid(), S_IRUSR | S_IWUSR); // regular user
|
||||
copy_file_as_user(src, dest, S_IRUSR | S_IWUSR); // regular user
|
||||
selinux_relabel_path(dest, src);
|
||||
fs_logger2("clone", dest);
|
||||
free(dest);
|
||||
|
|
@ -229,7 +229,7 @@ static void copy_asoundrc(void) {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
copy_file_as_user(src, dest, getuid(), getgid(), S_IRUSR | S_IWUSR); // regular user
|
||||
copy_file_as_user(src, dest, S_IRUSR | S_IWUSR); // regular user
|
||||
selinux_relabel_path(dest, src);
|
||||
fs_logger2("clone", dest);
|
||||
free(dest);
|
||||
|
|
@ -253,7 +253,7 @@ void fs_private_homedir(void) {
|
|||
int aflag = store_asoundrc();
|
||||
|
||||
uid_t u = getuid();
|
||||
gid_t g = getgid();
|
||||
// gid_t g = getgid();
|
||||
|
||||
// mount bind private_homedir on top of homedir
|
||||
if (arg_debug)
|
||||
|
|
@ -324,7 +324,7 @@ void fs_private_homedir(void) {
|
|||
fs_logger("tmpfs /home");
|
||||
}
|
||||
|
||||
skel(homedir, u, g);
|
||||
skel(homedir);
|
||||
if (xflag)
|
||||
copy_xauthority();
|
||||
if (aflag)
|
||||
|
|
@ -339,6 +339,7 @@ void fs_private_homedir(void) {
|
|||
void fs_private(void) {
|
||||
char *homedir = cfg.homedir;
|
||||
assert(homedir);
|
||||
|
||||
uid_t u = getuid();
|
||||
gid_t g = getgid();
|
||||
|
||||
|
|
@ -388,7 +389,7 @@ void fs_private(void) {
|
|||
selinux_relabel_path(homedir, homedir);
|
||||
}
|
||||
|
||||
skel(homedir, u, g);
|
||||
skel(homedir);
|
||||
if (xflag)
|
||||
copy_xauthority();
|
||||
if (aflag)
|
||||
|
|
@ -619,7 +620,7 @@ void fs_private_home_list(void) {
|
|||
fs_logger("tmpfs /home");
|
||||
}
|
||||
|
||||
skel(homedir, uid, gid);
|
||||
skel(homedir);
|
||||
if (xflag)
|
||||
copy_xauthority();
|
||||
if (aflag)
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ int copy_file(const char *srcname, const char *destname, uid_t uid, gid_t gid, m
|
|||
}
|
||||
|
||||
// return -1 if error, 0 if no error
|
||||
void copy_file_as_user(const char *srcname, const char *destname, uid_t uid, gid_t gid, mode_t mode) {
|
||||
void copy_file_as_user(const char *srcname, const char *destname, mode_t mode) {
|
||||
pid_t child = fork();
|
||||
if (child < 0)
|
||||
errExit("fork");
|
||||
|
|
@ -378,8 +378,8 @@ void copy_file_as_user(const char *srcname, const char *destname, uid_t uid, gid
|
|||
// drop privileges
|
||||
drop_privs(0);
|
||||
|
||||
// copy, set permissions and ownership
|
||||
int rv = copy_file(srcname, destname, uid, gid, mode); // already a regular user
|
||||
// copy, set permissions
|
||||
int rv = copy_file(srcname, destname, -1, -1, mode); // already a regular user
|
||||
if (rv)
|
||||
fwarning("cannot copy %s\n", srcname);
|
||||
#ifdef HAVE_GCOV
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue