Primäre Gruppe des Benutzers ändern – neue Dateien in dieser Gruppe erstellen lassen

Primäre Gruppe des Benutzers ändern – neue Dateien in dieser Gruppe erstellen lassen

Ich richte eine Umgebung ein, in der ich mehreren Benutzern SSH-Zugriff auf meinen Server gebe. Sie sind alle vertrauenswürdig, aber ich möchte sie in einem Segment des Dateisystems zusammenfassen. Ich habe die Benutzer folgendermaßen erstellt:

adduser username -ingroup groupname

was ganz gut funktioniert. Wenn ich mich als einer von ihnen anmelde, kann ich Folgendes tun und bekomme alle richtigen Antworten:

$id -r -u -n
username
$id -r -g -n
groupname

Ich habe die primäre Gruppe meines eigenen Benutzerkontos groupnamefolgendermaßen geändert:

$usermod myuser groupname

Ich habe mich dann abgemeldet und wieder angemeldet. Die Dateien, auf die die Gruppe Zugriff haben soll, befinden sich jetzt hier:

$ls -l / | grep groupname
drwxr-xr-x  3 root     groupname    4.0K 2012-03-26 20:20 groupfiles
$cd /groupfiles
$ls -l 
drwxrwxr-x  2 root groupname    4.0K 2012-03-26 20:32 project

Die Berechtigungen sind so angelegt, dass Mitglieder der Gruppe keine Dateien/Ordner ändern können, /groupfilesaber sie können hinzufügen, bearbeiten und löschen unter/groupfiles/project

Mein Problem besteht darin, dass ich die falsche Gruppe erhalte, wenn ich dies tue:

$touch test
$ls -l test
-rw-rw-r-- 1 myuser myuser 0 2012-03-26 20:58 test
$id -r -g -n
groupname

Ich muss dafür sorgen, dass die von vim, touch usw. erstellten Dateien die richtige Gruppe haben. Ich bin mir newgrp()der setgidBits bewusst. Diese sindnichtwas ich suche. Das funktioniert gut für die neuen Benutzer, die ich erstellt habe, aber nicht für meinen Benutzer. Ich bin nicht sicher, was passiert ist, aber jetzt funktioniert es gut. Ich habe diese Frage einfach für zukünftige Bastler hier gelassen.

Antwort1

Ich vermute, dass Sie folgendes Verhalten wünschen sudo usermod -g groupname myuser.

Hinweis: Dieser Befehl ändert die Gruppeneigentümerschaft für alle Dateien in $HOME, aber nicht außerhalb von home. Sie können sie wieder ändernchgrp -R myuser $HOME

Sie müssen sich dann ab- und wieder anmelden, damit die Änderungen wirksam werden.

Wenn Sie Ihre primäre Gruppe „myuser“ nicht ändern möchten, sollten Sie newgrp verwenden.

sudo usermod -g admin bodhi

ssh localhost

touch file

newgrp bodhi
touch file2

ls -l file file2
-rw-r--r-- 1 bodhi admin 0 2012-03-26 19:28 file
-rw-r--r-- 1 bodhi bodhi 0 2012-03-26 19:29 file2

verwandte Informationen