Portál AbcLinuxu, 5. května 2025 05:03
usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1
getent passwd
je normálně v systému vidím a mohu s nimi pracovat, místní přihlášení ale povoleno nemají*** Hlášení pro kvóty uživatel na zařízení /dev/md1 Doba odkladu bloků: 7dnů, Doba odkladu i-uzlů: 7dnů Limity bloků Limity souborů Uživatel užito měkký pevný odklad užito měkký pevný odklad ---------------------------------------------------------------------- ota -- 636 1024 20480 1 0 0Když nyní jako uživatel ota chci nahrát soubor o velikosti 500 kB, už mne to nepustí s hlášením, že na to nemám dostatek volného místa. Pokud někdo tušíte, kde by mohl být zakopaný pes, budu vděčný.
dd
čkem zaflákat vlastní adresář. Když dosáhnu kvóty, dd
zdechne a při dalším spuštění obdržím dd: failed to open ‘test4.dat’: Disk quota exceeded
. Jsa mimo kancl to nemůžu vyzkoušet z Windowsí stanice, ale pokud se do skoro obsazeného adresáře pokusím něco nakopírovat smb protokolem, přes limit mě to taky nepustí. Máš možnost to aspoň zkušebně rozjet na XFSku místo Ext4?
/dev/mapper/storage_encrypted /mnt/storage xfs defaults,usrquota,prjquota 0 0/etc/projects
59:/mnt/storage/home/user_1 60:/mnt/storage/home/user_2 61:/mnt/storage/home/user_3 .../etc/projid
xfspr_user_1:59 xfspr_user_2:60 xfspr_user_3:61 ...Relevantní kus bashího skriptu, kterým vytvářím uživatelské adresáře, nastavuji práva atp.
# Zjisti současné nejvyšší ID XFS projektu MAX_CURR_PRID=$(awk -F":" '{ print $2 }' /etc/projid | sort -nr | head -n1) if [[ -z "$MAX_CURR_PRID" ]]; then MAX_CURR_PRID=58 else if ! [[ $MAX_CURR_PRID =~ $ISNUM_RE ]]; then echo "Unexpected non-numeric value as project ID." echo "Please correct the problem and set the XFS quotas manually." exit fi fi # Nastav nové ID projektu a jeho jméno MAX_CURR_PRID=$((MAX_CURR_PRID+1)) XFS_PROJECTNAME="$XFS_PR_PREFIX$USERNAME" # Uprav příslušné konfiguráky echo $XFS_PROJECTNAME:$MAX_CURR_PRID >> /etc/projid echo $MAX_CURR_PRID:"$USER_HOME_DIR" >> /etc/projects # Zaregistruj projekt ve správě kvót xfs_quota -x -c "project -s $XFS_PROJECTNAME" "$STORAGE_ROOT" # Nastav limit pro uživatelský /home xfs_quota -x -c "limit -p bsoft=10g bhard=10g $XFS_PROJECTNAME" "$STORAGE_ROOT" # Nastav celkový limit pro uživatele (10 G v /home, 12 G celkem) xfs_quota -x -c "limit -u bsoft=12g bhard=12g $USERNAME" "$STORAGE_ROOT"Uživatelé mají právo zapisovat do více sdílených adresářů, proto kromě ID uživatele používám ještě kvóty dle projektů. Ve výsledku může uživatel zapsat do svého
/home
maximálně 10 GB a celkově 12 GB. Funguje to, protože /home
je v adresářové struktuře uvnitř rootu projektu.
xfs_quota
hlásí překročení soft kvóty správně.
df
na adresáři připojeném ručně CIFSem ukazují, kolik místa zbývá oddílu, kde se sdílený adresář na serveru nachází. Bohužel mě nenapadá, co by se s tím dalo dělat.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.