diff options
| author | nl6720 <nl6720@gmail.com> | 2020-08-30 18:12:08 +0300 |
|---|---|---|
| committer | nl6720 <nl6720@gmail.com> | 2020-09-05 11:23:00 +0300 |
| commit | 486b1910dd88315dc16d848cfab372eaf07d1641 (patch) | |
| tree | 2d5f949087b6ba88c85aa16bfef4b728c34bbf19 | |
| parent | 45a5d229b37eedd7996e88e5f7ef7c9a60969e05 (diff) | |
| download | archiso-486b1910dd88315dc16d848cfab372eaf07d1641.tar.gz archiso-486b1910dd88315dc16d848cfab372eaf07d1641.tar.bz2 | |
Do not overwrite existing files when copying from /etc/skel/
Copy /etc/skel/ only for users with UID in range 1000–60000.
Correct user home directory permission after copying files.
Fixes all /etc/skel issues from https://bugs.archlinux.org/task/67729 .
| -rwxr-xr-x | archiso/mkarchiso | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 6c583a5..c5169f7 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -378,9 +378,11 @@ _make_customize_airootfs() { if [[ -e "${profile}/airootfs/etc/passwd" ]]; then _msg_info "Copying /etc/skel/* to user homes..." while IFS=':' read -a passwd -r; do + (( passwd[2] >= 1000 && passwd[2] < 60000 )) || continue [[ "${passwd[5]}" == '/' ]] && continue [[ -z "${passwd[5]}" ]] && continue - cp -RdT --preserve=mode,timestamps,links -- "${airootfs_dir}/etc/skel" "${airootfs_dir}${passwd[5]}" + cp -dnRT --preserve=mode,timestamps,links -- "${airootfs_dir}/etc/skel" "${airootfs_dir}${passwd[5]}" + chmod -f 0750 -- "${airootfs_dir}${passwd[5]}" chown -hR -- "${passwd[2]}:${passwd[3]}" "${airootfs_dir}${passwd[5]}" done < "${profile}/airootfs/etc/passwd" |
