GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu vyhledat uživatelské jméno podle id v linuxu?

Zkuste

getent passwd "$uid" | cut -d: -f1

Možná se vám bude líbit tato malá maličkost.

$ id -nu [number]

3.17.3-1-ARCH #1 SMP PREEMPT Pá 14. listopadu 22:56:01 CET 2014 i686 GNU/Linux

Mohu potvrdit, že vrací odpovídající uživatelské jméno, pokud nějaké existuje, na Arch Linuxu. Mohu také potvrdit, že na Ubuntu nefunguje při spuštění jako normální uživatel, i když jsem to jako superuživatel netestoval. Také to nefunguje na Alpine Linux. V některých systémech tomu možná brání bezpečnostní funkce.


ls již toto vyhledávání provádí. Vyhledávání informací o uživateli můžete provést z příkazového řádku pomocí getent passwd .

Pokud ls zobrazuje ID uživatele místo uživatelského jména, je to proto, že žádný uživatel s tímto jménem neexistuje. Souborové systémy ukládají ID uživatelů, nikoli jména uživatelů. Pokud připojíte souborový systém z jiného systému nebo pokud soubor patří nyní smazanému uživateli nebo pokud jste předali číselné ID uživatele chown , můžete mít soubor, který patří k uživatelskému ID, které nemá jméno.

Na sdíleném hostiteli můžete mít přístup k některým souborům, které sdílí několik virtuálních počítačů, každý se svou uživatelskou databází. To je trochu divné (proč sdílet soubory, ale ne uživatelé, kteří je vlastní?), ale je to technicky možné.


Linux
  1. Jak změnit uživatelské jméno v Linuxu

  2. Jak mohu změnit výchozí skupinu uživatele v systému Linux?

  3. Jak zobrazit proces vytvořený konkrétním uživatelem v Unixu/linuxu

  1. Jak sledovat aktivitu uživatele v Linuxu

  2. Jak přidat uživatele do skupiny v Linuxu

  3. Jak vytvořit uživatele Linuxu pomocí Ansible

  1. Jak mohu symbolicky propojit soubor v Linuxu?

  2. Kolika Unixových skupin může být uživatel členem?

  3. Jak mohu přiřadit počáteční/výchozí heslo uživateli v Linuxu?