Czy możliwe jest udostępnienie pliku na podstawie numerycznego identyfikatora użytkownika użytkownikowi, który jeszcze nie istnieje?

19

Na przykład do zarządzania partycją dysku dla innego systemu, w którym istnieje użytkownik. Wiem, że mogę tymczasowo utworzyć użytkownika, ale uważam to pytanie za interesujące.

glarry
źródło

Odpowiedzi:

22

Tak, możesz uzyskać chownnumeryczny identyfikator UID, który nie ma odpowiedniego użytkownika.

DopeGhoti
źródło
Testowałem, zanim zapytałem: chown \#1005 filepowracachown: invalid user: ‘#1005’ .
glarry
5
Nie używaj oktotorpe; to nie jest liczba. Wystarczy użyć numeru, np sudo chown 1005 /path/to/file.
DopeGhoti
Zgodnie z tą logiką sudouważa, że ​​jest to liczba. Ponadto uważa, że ​​grupy cyfr, które nie zaczynają się od znaku liczbowego, nie są liczbami. :)
glarry 18.01.2018
1
Nawiasem mówiąc, najpierw próbowałem chown 1005 file. Nie zadziałało, z jakiegoś niezwiązanego powodu, ale obwiniłem go o brakujący znak numeryczny. Musisz przynajmniej użyć ./file, najwyraźniej, aby chown mógł stwierdzić, który z nich jest użytkownikiem. Tylko żebyś (czytelnik) wiedział.
glarry
2
@glarry Nie muszę używać ./. Czy nazwa pliku jest naprawdę file?
Hauke ​​Laging
11

chown UID:GID fileName można to zrobić za pomocą liczb, nazwy użytkownika lub nazwy grupy

np .: chown 1000:1000 dirnamejest ważny

może być konieczne zresetowanie uprawnień do katalogu, chmod 755na przykład po zrobieniu tego, aby uzyskać do niego dostęp

Poradnik

  • Możesz sprawdzić identyfikator użytkownika za pomocą id someUsername
  • Możesz sprawdzić identyfikator grupy za pomocą gid someUsername
  • Możesz zmienić uprawnienia tylko dla katalogów za pomocą find someLocation -type d -exec chown 1000:1000 {} \;
Philippe Gachoud
źródło
Używanie zmiennych chown -R $HOST_USER_ID:$HOST_GROUP_ID /usr/bin/mariadb/install/datadaje mi błąd chown: invalid spec: '1000:'sous `Lubuntu 16/04
Stephane
Mógłbym obejść ten problem, wykonując dwa różne poleceniachown -R $HOST_USER_ID /usr/bin/mariadb/install/data; chgrp -R $HOST_GROUP_ID /usr/bin/mariadb/install/data;
Stephane
@Stephane Twój UID i GID musi być numer grupy / ID, który chcesz zmienić, a jest setted do /etc/groupi /etc/passwdlub poprzez inny system jak LDAP, można zwrócić się do poleceń takich jak gentent mieć więcej info o tym.
Philippe Gachoud