adduser
Komut dosyaları kaldırma gibi herhangi bir kurulum yapmak için bir siteye özgü komut dosyasını çalıştırabilirsiniz. Tam bir kopyayla başlayıp daha sonra bazı dosyaları silmeniz kabul edilebilir olduğu sürece, bu yaklaşım sizin için işe yarayabilir.
Gönderen İÇİNadduser (8) kılavuz sayfasında :
Dosya /usr/local/sbin/adduser.local
varsa, herhangi bir yerel kurulum yapmak için kullanıcı hesabı kurulduktan sonra yürütülür. Aktarılan argümanlar
adduser.local
:
kullanıcı adı uid gid giriş dizini
Tek yapmanız gereken dört parametre alan bir komut dosyası yazmak ve ihtiyacınız olan dosyaları kaldırmak için kullanmaktır. Farklı kaydedin /usr/local/sbin/adduser.local
ve yürütülebilir ( chmod a+x
) olarak işaretlendiğinden emin olun .
İşte başlamanız için bir şey:
#!/bin/bash
## Site-specific setup for newly-created users.
## adduser(8) will call this script after setting up a new user.
set -euo pipefail
if [[ "$#" != 4 ]]; then
echo "usage: $0 username uid gid home" > /dev/stderr
fi
NEW_USERNAME="${1:?}"
NEW_UID="${2:?}"
NEW_GID="${3:?}"
NEW_HOME="${4:?}"
# The groups command outputs a space-separated list of group names
IFS=' '
for group in $(groups "${NEW_USERNAME}"); do
case "${group}" in
a)
[[ "${VERBOSE}" > 0 ]] && echo Removing file for a
rm "${NEW_HOME}/not_for_a.txt"
;;
b)
[[ "${VERBOSE}" > 0 ]] && echo Removing dir for b
rm -r "${NEW_HOME}/not_for_b/"
;;
*)
[[ "${VERBOSE}" > 1 ]] && echo No special setup required for $group
;;
esac
done
Düzenlemek isteyeceğiniz ilginç kısım, şuna benzeyen satırlardır:
a)
[[ "${VERBOSE}" > 0 ]] && echo Removing file for a
rm "${NEW_HOME}/not_for_a.txt"
;;
Gördüğünüz yerine istediğiniz gerçek grup adı ve davranış doldurabilirsiniz a)
ve rm not_for_a.txt
.
useradd
16.04 sistemimdeki man sayfasında debian tabanlı sistemler için önerilmez. Bu uyarının nedeni değiştiyse, cevabınıza ekleyebilirsiniz. Ayrıca 16.04'teuseradd
veadduser
farklı seçeneklere sahip farklı programlardır, belki cevabınızı netlik için düzenleyebilirsiniz.