Je suis un nouvel utilisateur Ubuntu et je m'habitue toujours au système d'exploitation. Je l'utilise principalement pour tester localement un site que je développe. J'ai téléchargé la pile de lampe pour cela.
Lorsque j'ai téléchargé Ubuntu pour la première fois, chaque fois que je modifiais les fichiers que je développais, je devais entrer Sudo nano filename
. Ce n’était pas le cas pour les fichiers de mon répertoire personnel, mais uniquement pour ceux où j’étais en train de tester.
Lorsque je me suis connecté aujourd'hui, je n'ai pas eu à saisir Sudo
, j'ai simplement pu saisir nano filename
et modifier les fichiers. Je ne sais pas si j'ai désactivé le besoin d'un mot de passe Sudo
, ce que je ne voudrais pas faire.
J'ai exécuté grep root /etc/passwd
puis grep root /etc/shadow
qui a refusé l'accès sans entrer Sudo
. Quand j'ai fait, root:!
a montré. D'après ce que j'ai lu, cela signifie que le compte est désactivé.
Je ne sais pas si cela signifie que j'ai désactivé le mot de passe ou si le compte est verrouillé et tout va bien.
Existe-t-il un moyen de s’assurer que je ne suis pas en train d’exécuter en tant que root et si je le fais actuellement, comment le désactiver afin que je ne fonctionne que comme administrateur.
Aussi, pourquoi le mot de passe Sudo
a-t-il soudainement cessé d'être saisi pour la modification de mes fichiers?
Merci pour vos réponses, si ma question n’est pas claire, merci de me le faire savoir afin que je puisse essayer de le clarifier.
Si vous utilisez bash (par défaut), votre invite vous dira si vous agissez en tant que root. Si elle se termine par un '$
', vous utilisez un utilisateur normal. Si elle se termine par un '#
', vous êtes exécuté en tant que root.
Aditionellement,
whoami
montrera qui vous êtes.
Si vous pouvez soudainement modifier des fichiers qui nécessitaient auparavant un accès à Sudo, mon premier soupçon serait que vous ayez réussi à modifier les autorisations sur un fichier. Si vous tapez:
ls -l <filename>
et examinez les résultats, les sections rwx indiquent les autorisations.
-rw-rw-r-- 1 user user 77338 Oct 21 17:59 filename.odt
|\ /\ /\ /
| | | +-- permissions for "other": every user on the system.
| | +----- permissions for "group"
| +-------- permissions for "owner"
+---------- filetype (- is regular file)
Si vous appartenez à un groupe disposant d'autorisations en écriture ou si "autre" dispose d'autorisations en écriture, vous n'avez pas besoin d'un accès Sudo pour écrire dans le fichier.
Vous pouvez lire ne introduction aux autorisations linux pour plus de détails sur les autorisations de fichiers.
Il vous suffit d’utiliser root pour éditer les fichiers appartenant à root ou à d’autres utilisateurs. Tous les fichiers que vous créez ou que vous possédez peuvent être édités par vous sans utiliser root .
Par exemple. lancer les commandes suivantes
cd $HOME
touch test.txt
nano test.txt
Les commandes ci-dessus ont accédé à votre répertoire personnel (votre espace personnel), créé un fichier appelé test.txt, puis entré le fichier à l’aide d’un éditeur appelé nano.
Maintenant, si vous essayez:
nano /etc/apt/sources.list
Vous devriez pouvoir voir le fichier mais recevoir un avertissement vous indiquant que vous ne pouvez pas éditer le fichier.
C'est parce que même si le fichier ne vous appartient pas, il a un accès en lecture pour tout le monde. Cela peut être montré dans l'image ci-dessous:
Pour visualiser facilement les autorisations dans Ubuntu, tapez simplement:
ll /path/to/parent/directory
ou alternativement pour d'autres systèmes tels que debian
ls -al /path/to/directory
Il existe de nombreux didacticiels en ligne permettant de lire sur les autorisations des utilisateurs, comme celle-ci , que je recommande de lire. Je vois souvent des gens faire des bêtises, telles que tout définir dans/var/www sur 777 pour que leur serveur Web "fonctionne" car ils ne comprennent pas les autorisations Linux et leurs serveurs sont donc moins sécurisés.
Je suis un nouvel utilisateur d'ubuntu ...
Bonne chance et bienvenue sur Linux! Passez le mot.
Pour vous montrer en détail "qui vous êtes", vous pouvez utiliser la commande id
name __:
$ id
uid=1000(alphawolf) gid=1000(alphawolf) groups=1000(alphawolf),4(adm),24(cdrom),25(floppy),27(Sudo),29(audio),30(dip),44(video),46(plugdev),107(netdev),113(lpadmin),128(sambashare),132(wireshark),2000(humans-bc-aw)
Comme vous le voyez, la sortie peut être assez longue en fonction de votre compte.
uid=1000(alphawolf)
",gid=1000(alphawolf)
"et les noms et identifiants de tous les autres groupes dont votre compte est membre. Cette liste ne contient par défaut que le groupe principal si vous êtes un utilisateur normal/restreint, et une liste plus longue contenant au moins adm
et Sudo
si vous êtes un administrateur.
groups=1000(alphawolf),4(adm),24(cdrom),25(floppy),27(Sudo),29(audio),30(dip),44(video),46(plugdev),107(netdev),113(lpadmin),128(sambashare),132(wireshark),2000(humans-bc-aw)
Maintenant, comment pouvons-nous déterminer nos autorisations sur un fichier avec cette information?
Nous prenons la sortie de ls -l /path/to/file-or-directory
, comme par exemple:
$ ls -l /usr/bin/dumpcap
-rwxr-xr-- 1 root wireshark 85632 Aug 16 01:43 /usr/bin/dumpcap*
Ce fichier est un exécutable utilisé par Wireshark pour capturer les packages réseau dotés de privilèges élevés. Je l'ai choisi en raison des autorisations de propriétaire et de groupe différentes.
Regardons les détails importants:
Propriétaire:root
name__
Il s’agit de l’utilisateur propriétaire du fichier.
Groupe:wireshark
Ceci est le groupe d'utilisateurs auquel ce fichier est assigné.
Chaîne d'autorisation:-rwxr-xr--
Ce sont les autorisations de fichier pour l'utilisateur , le groupe et tous les autres. , comme décrit ci-dessous:
- rwx r-x r--
| \ / \ / \ /
| V V V
| | | \__ Other permissions: [r] 'r'ead access granted
| | | [-] 'w'rite access denied
| | | [-] e'x'ecuting denied
| | \__ Group permissions: [r] 'r'ead access granted
| | [-] 'w'rite access denied
| | [x] e'x'ecuting granted
| \__ Owner permissions: [r] 'r'ead access granted
| [w] 'w'rite access granted
| [x] e'x'ecuting granted
\__ File type: [-] normal file
(alternatives: 'd'irectory, sym'l'ink,
'c'haracter device, 'b'lock device, ...)
Maintenant, que peut faire mon utilisateur alphawolf
avec le id
ci-dessus avec ce fichier?
root
qui possède les autorisations complètes r
name__ead, w
name__rite et ex
name__ecute.wireshark
name__; par conséquent, je dispose des autorisations définies pour le groupe de fichiers: je peux r
name__ead le fichier et ex
name__cute le, mais je ne le modifie pas (no w
name__rite access). r
name__ead the file, mais ni w
name__rite, ni ex
name__ecute.Cela vous aidera à déterminer vos autorisations sur différents fichiers système.
C'est possible dans la plupart des coquilles
if [ $USER = root ] ; then echo Im root; fi
Bash soutient également cette
if [ $UID = 0 ] ; then echo Im root; fi