1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/bin/bash
echo "####### SCRIPT INSTALL #######"
apt-get install --assume-yes -f # fix errors with apt-get
apt-get install --assume-yes libpam-pwquality # install additionnal features pam
sed -i 's/retry=3/retry=3 ucredit=-1 decredit=-1 ocredit=-1/g' /etc/pam.d/common-password # use sed to add password policy in pam config
#ucredit -> One uppercase
#dcredit -> One digit
#ocredit -> One special char
sed -i 's/sha512/sha512 minlen=10/g' /etc/pam.d/common-password # same as before, but on next line, change password length
mkdir /media/shared # create shared folder
declare -a groups=("secretary" "employee" "CEO" "admin")
for group in "${groups[@]}"; do # iterate on each group name
groupadd $group # create a group with name $group
setfacl -Rm g:$group:rwx /media/shared # set recursive permission on folder created before for each group (read-write-execute)
echo "add " $group
done
while read user; do
IFS=',' read -r -a userinfo <<< $user
useradd ${userinfo[0]} -G ${userinfo[1]} -m -N # add a user to the group and a home directory for user
chage -m 5 -M 30 -I 2 -W 10 ${userinfo[0]} # change delay to change the password
echo ${userinfo[0]}
chage -l ${userinfo[0]} # display password policy for one user
done < data # take user file input
chmod +t /media/shared # set sticky bit on the folder created before
# so only owner or root can write/remove/edit/create in user folder/file
chown daniela /media/shared/ |
Partager