Hogyan lehetne _biztonságosan_ lescriptelni azt, hogy be legyen állítva a "usrquota" és a "grpquota" azon a partíción, amin az adott user home mappája van?
##############################
#!/bin/bash
ADOTTUSER=bela
if ! id "$ADOTTUSER" >/dev/null; then echo "error: no \"$ADOTTUSER\" user found in \"/etc/passwd\""; exit 1; fi
SFTPUSER_MAPPAJA=$(awk "NR==$(awk 'BEGIN {FS=":"} {print $3}' /etc/passwd | awk "/^$(id -u "$ADOTTUSER")$/ {print NR}")" /etc/passwd | awk 'BEGIN {FS=":"} {print $6}' | rev | sed "s/^\///g" | rev)
if [ "$SFTPUSER_MAPPAJA" == "" ]; then echo "error: bad home directory"; exit 1; fi
if [ "$SFTPUSER_MAPPAJA" == "/" ]; then echo "error: bad home directory"; exit 1; fi
if ! [ -d "$SFTPUSER_MAPPAJA" ]; then echo "error: no home directory for the user"; exit 1; fi
##############################
Ok. Az "$SFTPUSER_MAPPAJA" lesz az "$ADOTTUSER" home mappájának elérése [nagyjából biztonságosan megszerezve, ehhez nem akarok nyúlni**].
Hogyan tovább?
- Mármint pl.: XFS-nél nem kell beállítani a "usrquota" & "grpquota"-t, mivel alapból támogatja.
- EXT3, EXT4-nél be kell állítani, de viszont lehetségesek további mount opciók.
- Szóval általánosságban gondolkodom, több filerendszer esetén.
Csak tovább szeretném upgrade-elni a "debian-sftp-only.sh"-s scriptemet quotával :P
A dolog megoldható, csak ~kb fél oldalt kell gépelni hozzá [csak szerintem gányolás egy kicsit, hogy pl.: megnézem, hogy az adott sor/4. oszlopában az fstab-ban van-e pl.: usrquota, ha nincs, akkor írja hozzá, de elé egy ",", utána parancs kiad: "mount /homeparticio -o remount "].
Van valakinek kész megoldása, vagy pedig kezdjem el koptatni a billentyűzetet? [Vagy van erre valamilyen parancs, hogy engedélyezzük a kvótát az adott partíción??*]
* Szerk.: engedélyezzük, mármint odaírni a usrquota-t, és a grpquota-t valamilyen programmal az fstab-ba, hogy reboot után is maradjon meg a beállítás
** Szerk2.: upgraded: link, thx :)
- 1339 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
quota - implementation of the disk quota system
quotatool - tool to edit disk quotas from the command line
- A hozzászóláshoz be kell jelentkezni
nem tudtam, hogy ezek közül a parancsok közül az egyikkel be lehet kapcsolni a kvótát az adott filerendszeren.
man-ban nem találom hogy kell :O
mire gondoltál?
a kérdés nem az volt, hogyan tudom beállítani pl.: 10 MByte-ra a kvótát egy usernél, hanem:
"Hogyan lehetne _biztonságosan_ lescriptelni azt, hogy be legyen állítva a "usrquota" és a "grpquota" azon a partíción, amin az adott user home mappája van?"
pardon, ha félreértettem a válaszod.
- A hozzászóláshoz be kell jelentkezni
Talán ez segit: http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html
-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5
- A hozzászóláshoz be kell jelentkezni
a "quotaon"-al elérem, hogy az fstab megfelelő sorában, a megfelelő helyre odakerül a ",usrquota,grpquota"?
Én tettem fel rosszul/nem érthetően a kezdő kérdésemet?
- A hozzászóláshoz be kell jelentkezni
bocs, egyrészt ezt kérdezted:
"...Vagy van erre valamilyen parancs, hogy engedélyezzük a kvótát az adott partíción?" :)
másrészt a leírása a quotatool-nak ezt írja:
"...making it suitable for use in scripts and other non-interactive situations"
szerk.: még ezt találtam:
http://www.debian-administration.org/articles/47
remount + quota beállítás
meg én nem az fstab-ban nézném meg hogy van-e userquota, hanem a `mount` kimenetében - szerintem ez nem lenne gányolás, így on-the-fly beállítod ha kell, a rendszer alap beállításaitól függetlenül
- A hozzászóláshoz be kell jelentkezni
bocs, nem olvastam itt mindent el, ugyhogy nem tudom pontosan mirol van szo, csak annyit jegyzek meg igy gyorsan h a man soxor hianyos, meg az is konnyen elofordulhat h pl egy prg-al kapcsolatban nem irnak le egy kapcsolot(meg sem emlitik) meg ilyenek
szal google
- A hozzászóláshoz be kell jelentkezni
Kicsit hatékonyabban:
#!/bin/bash
ADOTTUSER=bela
if ! grep -q "^$ADOTTUSER:" /etc/passwd; then echo 'error: no '$ADOTTUSER' user found in "/etc/passwd"'; exit 1; fi
SFTPUSER_MAPPAJA=$(grep "^$ADOTTUSER:" /etc/passwd | cut -f6 -d: | sed 's#/$##')
if [[ -z "$SFTPUSER_MAPPAJA" || "$SFTPUSER_MAPPAJA = / ]]; then echo "error: bad home directory"; exit 1;
elif [[ !-d "$SFTPUSER_MAPPAJA" ]]; then echo "error: no home directory for the user"; exit 1; fi
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
- bocs
- A hozzászóláshoz be kell jelentkezni