LINUX.ORG.RU

История изменений

Исправление hikikomori, (текущая версия) :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done
hikikomori:wheel lp sys network power autologin hikikomori  
user01:sambashare  
user02:sambashare  
user03:sambashare  
user04:sambashare  
user05:sambashare  
user06:sambashare  

Почему в /etc/group их нет?
В /etc/passwd есть первичная группа, но не полный список групп каждого пользователя. По идее дополнительные группы пользователя берутся из /etc/group, так?

Немного не догоняю. Так, попробую создать пару юзеров и посмотреть, куда упадут их доп.группы:

sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser01
sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser02

cat /etc/passwd | grep testuser

testuser01:x:953:1002::/home/testuser01:/bin/false
testuser02:x:952:1002::/home/testuser02:/bin/false

grep -E '^sambashare|^group02|^group03' /etc/group 

group03:x:209:testuser01,testuser02
group02:x:1001:testuser01,testuser02
sambashare:x:1002:user03,user05

sambashare (1002) - их основная группа, её мы видим в /etc/passwd в виде GID. А членство в дополнительных группах описано в /etc/group для каждой группы список имён юзеров, но ТОЛЬКО тех, у кого эта группа дополнительная. Я правильно понял, или нет? Может упустил чего?

Исправление hikikomori, :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done
hikikomori:wheel lp sys network power autologin hikikomori  
user01:sambashare  
user02:sambashare  
user03:sambashare  
user04:sambashare  
user05:sambashare  
user06:sambashare  

Почему в /etc/group их нет?
В /etc/passwd есть первичная группа, но не полный список групп каждого пользователя. По идее дополнительные группы пользователя берутся из /etc/group, так?

Немного не догоняю. Так, попробую создать пару юзеров и посмотреть, куда упадут их доп.группы:

sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser01
sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser02

cat /etc/passwd | grep testuser

testuser01:x:953:1002::/home/testuser01:/bin/false
testuser02:x:952:1002::/home/testuser02:/bin/false

grep -E '^sambashare|^group02|^group03' /etc/group 

group03:x:209:testuser01,testuser02
group02:x:1001:testuser01,testuser02
sambashare:x:1002:smb_mama,mxacer

sambashare (1002) - их основная группа, её мы видим в /etc/passwd в виде GID. А членство в дополнительных группах описано в /etc/group для каждой группы список имён юзеров, но ТОЛЬКО тех, у кого эта группа дополнительная. Я правильно понял, или нет? Может упустил чего?

Исправление hikikomori, :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done
hikikomori:wheel lp sys network power autologin hikikomori  
user01:sambashare  
user02:sambashare  
user03:sambashare  
user04:sambashare  
user05:sambashare  
user06:sambashare  

Почему в /etc/group их нет?
В /etc/passwd есть первичная группа, но не полный список групп каждого пользователя. По идее дополнительные группы пользователя берутся из /etc/group, так? Немного не догоняю.

Исправление hikikomori, :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done
hikikomori:wheel lp sys network power autologin hikikomori  
user01:sambashare  
user02:sambashare  
user03:sambashare  
user04:sambashare  
user05:sambashare  
user06:sambashare  

Почему их нет в /etc/group и где они тогда, в /etc/passwd что ли? Но там указан только GID первичной группы.

Исправление hikikomori, :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done hikikomori:wheel lp sys network power autologin hikikomori user01:sambashare user02:sambashare user03:sambashare user04:sambashare user05:sambashare user06:sambashare

Почему их нет в /etc/group и где они тогда, в /etc/passwd что ли? Но там указан только GID первичной группы.

Исходная версия hikikomori, :

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done hikikomori:wheel lp sys network power autologin hikikomori user01:sambashare user02:sambashare user03:sambashare user04:sambashare user05:sambashare user06:sambashare

Почему их нет в /etc/group и где они тогда, в /etc/passwd что ли? Но там указан только GID первичной группы.