Dernière modification le 08/08/2021
sudo cat /etc/passwd | awk -F: '{print $ 1}'
sudo cat /etc/passwd | grep "utilisateur"
sudo useradd utilisateur
Si vous souhaitez que l’utilisateur ne puisse pas se connecter en SSH ou exécuter des script la commande est la suivante :
sudo useradd -s /bin/false utilisateur
Cette dernière commande n’est fonctionnelle que si la ligne “/bin/false” est bien présente dans le fichier “/etc/shells”, ajouter la ligne si elle n’est pas présente.
Avec cette dernière commande le dossier personnel dans “home” n’est pas créé automatiquement :
sudo mkdir /home/utilisateur
Ajouter un utilisateur avec dossier personnel, groupe, shell :
useradd -d /home/utilisateur -G groupe1,groupe2 -s /bin/bash utilisateur
sudo userdel utilisateur
Cette façon de supprimer le compte n'entraîne pas la suppression du dossier personnel dans "home". Ce qui veut dire que l’utilisateur qui aura le même UID aura accès aux données de l’utilisateur supprimé. Il est alors recommandé de supprimer le dossier personnel.
Supprimer le compte et le dossier personnel dans “home” :
sudo userdel -r utilisateur
sudo usermod [OPTIONS] utilisateur
Options :
Permet de créer un mot de passe ou de le modifier :
sudo passwd utilisateur
La commande “adduser” permet de créer un nouvel utilisateur, son mot de passe, renseignement personnel et le répertoire personnel de l’utilisateur. Exemple :
sudo adduser carl ↲
Adding user `carl' ...
Adding new group `carl' (1003) ...
Adding new user `carl' (1003) with group `carl' ...
Creating home directory `/home/carl' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for carl
Enter the new value, or press ENTER for the default
Full Name []: Carl
Room Number []: 666
Work Phone []: 099 123456
Home Phone []: 0888 123456
Other []: 999
Is the information correct? [Y/n] y
Maintenant l’utilisateur “carl” peut se connecter.
Lorsque l’on veut remplacer l’utilisateur “pi”, vous devez ajouter le privilège “sudo” à un utilisateur. Ceci est possible avec la commande suivante :
sudo adduser carl sudo ↲
Adding user `carl' to group `sudo' ...
Adding user carl to group sudo
Done.
Maintenant l’utilisateur “carl” à le privilège “sudo”.
sudo cat /etc/group | awk -F: '{print $ 1}';
sudo cat /etc/group | grep "groupe"
sudo groupadd groupe
sudo groupdel groupe
sudo adduser utilisateur groupe
sudo gpassswd --delete utilisateur groupe
pour l’utilisateur courant :
sudo groups
Attention si la base de données à changé après la connexion de l'utilisateur, la liste n’est pas conforme. Il faut alors se déconnecter et se reconnecter.
ou pour un utilisateur bien précis :
sudo groups utilisateur
ou
sudo grep "utilisateur" /etc/group
sudo grep "groupe" /etc/group
UID de l’utilisateur courant :
id ↲
uid=0(root) gid=0(root) groups=0(root)
UID d’un utilisateur précis:
id ftp ↲
uid=1001(ftp) gid=1001(ftp) groups=1001(ftp)
Afficher la liste des utilisateur et leur UID :
cut -f1,3 -d: /etc/passwd ↲
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
man:6
lp:7
mail:8
news:9
uucp:10
proxy:13
www-data:33
backup:34
list:38
irc:39
gnats:41
nobody:65534
systemd-timesync:100
systemd-network:101
systemd-resolve:102
_apt:103
pi:1000
messagebus:104
Lorsque l’on doit attribuer un “id” à un utilisateur, voici une commande qui affiche le premier id libre à partir de 1000 :
awk -F: '{uid[$3]=1}END{for(x=1000;x<=10000;x++)if(!uid[x]){print x;exit}}' /etc/passwd /etc/group
Où :
awk permet d’effectuer un certain nombre d’action sur un ou plusieurs fichiers
Afficher la liste des groupes et leur UID :
cut -f1,3 -d: /etc/group ↲
root:0
daemon:1
bin:2
sys:3
adm:4
tty:5
disk:6
lp:7
mail:8
news:9
uucp:10
man:12
proxy:13
kmem:15
dialout:20
fax:21
voice:22
cdrom:24
floppy:25
tape:26
sudo:27
audio:29
dip:30
www-data:33
backup:34
operator:37
list:38
irc:39
src:40
gnats:41
shadow:42
utmp:43
video:44
sasl:45
plugdev:46
staff:50
games:60
users:100
nogroup:65534
systemd-journal:101
systemd-timesync:102
systemd-network:103
systemd-resolve:104
input:105
kvm:106
render:107
crontab:108
netdev:109
pi:1000
messagebus:110
ssh:111
bluetooth:112
avahi:113
spi:999
i2c:998
gpio:997
systemd-coredump:996