Ποιός είναι ο χρήστης με id=501;

Ξέρει κανείς τον εν λόγο κύριο? Εγώ πάντως δεν είμαι 0 501. Και όπως φαίνεται μου παρακρατεί τα δικαιώματα…

Μου είναι αδύνατον να μάθω. Το ότι ακόμα δεν έχω εκμεταλευτεί την βοήθεια της κοινότητας, είναι πραγματικά βασανιστικό.

Δεν έχεις αναφέρει το παραμικρό στοιχείο, ούτε καν την διανομή για επαρκή απάντηση. Αλλά οι χρήστες με id μικρότρερο του 1000 είναι υπηρεσίες συστήματος, όχι χρήστες. Δεν ξέρουμε την προέλευση του μέσου ή των αρχείων. Είναι από άλλο υπολογιστή;

Δεν υπάρχει στο UNIX κάποιος τρόπος να έχεις σταθερά αυτά τα id. Μπορείς να βρεις ποια υπηρεσία είναι αν δώσεις την εντολή

id -nu 501

Μπορεί αυτός ο χρήστης να μην υπάρχει στο σύστημα σου μιας και είναι αφαιρούμενο μέσο. Και κάθε διανομή Linux (ή ακόμα και η ίδια διανομή σε κάποιες περιπτώσεις) έχει διαφορετική αντιστοιχία ανάμεσα σε id και χρήστες ή υπηρεσίες.

Αν χρησιμοποιείς διαφορετικούς χρήστες σε διαφορετικά μηχανήματα, φτιάχνε τους με την ίδια σειρά κατά την εγκατάσταση. Έτσι θα εξασφαλίσεις πως οι χρήστες τουλάχιστον θα έχουν το ίδιο id. Είναι ένας περιορισμός της αρχαϊκής δομής του UNIX που τον έχουμε μέχρι σήμερα. Το systemd προσπαθεί να παρακάμψει αυτούς τους περιορισμούς, αλλά αυτό είναι μια άλλη ιστορία.

Σε κάθε περίπτωση αν αυτή είναι η μόνη ένδειξη, όχι δεν σε έχουν χακέψει.

1 «Μου αρέσει»

Ωωω, σε ευχαριστώ πολύ για την γρήγορη ανταπόκριση. Όχι δεν είναι μόνο αυτό είναι μια ατελείωτη σειρά προφανών αλλά κυρίως όχι και τόσο φανερών περιστατικών. Τόσα πολλά που έχω αρχίσει να συνηθίζω. Και δεν το αντιλαμβάνομαι σαν χακάρισμα αλλά σαν κάτι άλλο που σκοπό έχει αυτό που ανέφερα. Ότι συνηθίζω σιγά σιγά. Το ξέρω πως μπορεί να φαίνομαι γραφικός, αλλά διατείθομαι να συμφωνήσω ή να επικυρώσω ότι μου ζητηθεί από όποιους καταφέρνουν ένα μίνιμουμ εμπιστοσύνης όπως εσείς. :grinning:
Έχω αναρτήσει ότι στοιχεία σκέφτηκα ότι μπορεί να είναι χρήσιμα στο προφίλ μου. Γενικά έχω μαύρα μεσάνυχτα και ακροβατώ. Στη συγκεκριμένη φάση δεν ξέρω τι θα ήταν χρήσιμο να κοινοποιήσω. Προσπαθώ να βάλω το Enpass σε ένα φλασάκι. Μήπως ξέρεις πως θα μπορούσα να ανακτήσω αυτά τα δικαιώματα?

1 «Μου αρέσει»

Αρκετά πιθανό εδώ να βρίσκεται το πρόβλημα καθώς απ’ ότι φαίνεται είναι ένα στικάκι. Με ένα search για uid/gid 501/20 βλέπω πως σε OS X αντιστοιχούν πρώτο χρήστη του συστήματος και στο group staff (default group για κανονικούς χρήστες). Το παλιό filesystem των Mac (HFS) διαβάζεται χωρίς πρόβλημα από Linux, οπότε μήπως το στικάκι αυτό προήλθε από κάποιο Mac σύστημα;

2 «Μου αρέσει»

Ναι φίλτατε. Έχει πρωτοχρησιμοποιηθεί σε mac. Τελευταία φορά πριν 5 χρόνια περίπου.

Θα μπορούσες να πάρεις ιδιοκτησία του mountpoint (αντικατέστησε τη τοποθεσία με το δικό σου) με

sudo chown $(whoami): /run/media/user/mounted-disk-name

και, για το μέλλον αν δεν θες να το αλλάξεις (π.χ. δουλεύεις με Mac), θα μπορούσες να κάνεις

sudo bindfs --map=501/$(id -u) /run/media/user/mounted-disk-name ~/drive

Βασικά αυτό καθρεφτίζει τα περιεχόμενα του πρώτου dir στο δεύτερο με αλλαγμένο τον ιδιοκτήτη. Οπότε δουλεύεις κανονικά στο ~/drive και στο δίσκο φαίνεται ο 501.

Άμα δεν έχεις τίποτα αποθηκευμένο πάντως καλή ιδέα θα ήταν να κάνεις format σε κάποιο άλλο filesystem όπως exFAT που διαβάζεται από όλα τα λειτουργικά ενώ αφού δεν υποστηρίζει permissions δεν θα έχεις και θέμα με ids μεταξύ συστημάτων.

Επειδή αρκετές φορές μπλέκομαι από κάποια “εκλεπτυσμένη” ανάγκη με πράγματα που δεν κατέχω και έτσι αναγκαστικά “μαθαίνω κολύμπι κολυμπώντας”, προσπαθώ να μελετήσω και να αφομειώσω την πρόταση σου σε γενικότερο πλαίσο. Έτσι η παραπάνω εντολή λειτούργησε με το στικάκι και δοκίμασα να την εφαρμόσω στα σημεία που χρειάζομαι. Έτσι το directory που σας δείχνω , είναι ένα από τα δύο 1,5Τ partition, ενός HD 3T όπως φαίνεται πιο κάτω και μέχρι να βγάλω τα Win και να βάλω το Manjaro, άνηκε στα πρώτα. Στην πορεία αποφάσισα να το αναθέσω στο νέο μου λειτουργικό, πράξη που έκανα με σχετική επιτυχία, κάνοντας format σε ext4 και κάπως στα τυφλά και με δοκιμές, νομίζω με κάποιον folder που λειτουργησε σαν link ή γέφυρα, οι δύο δίσκοι συναντήθηκαν και τα βρήκανε με τους ρόλους τους. :grin:
Τώρα πια δεν υπάρχει η ανάγκη αυτού του link και η μόνη διαφορά που έχω εντοπίσει σε σχέση με το στήσιμο που υπήρχε με τα Win, είναι πως για να δουλέψει πρέπει να τον κάνω mount, γεγονός που με βολεύει και στο έλεγχο ασφάλειας. Είναι αυτος ο τρόπος ενδεδειγμένος? Ρωτάω γιατί έχω προσπαθήσει να τον κάνω αποθήκη για το Steam και δεν τα έχω καταφέρει. Δεν βρίσκω κάν το mount point μέσα από την εφαρμογή…
image

Καταλαβαίνω πως μορεί να είναι πρόβλημα με τις άδειες και έτσι δοκίμασα:
sudo chown $(chaos): /run/media/chaos/HDD Arch ή

sudo chown $(whoami): /run/media/chaos/HDD Arch ή

sudo chown $(chaos): /run/media/chaos/HDD_Arch και σε κάθε περίπτωση πήρα…

chown: cannot access ‘/run/media/chaos/HDD_Arch/’: No such file or directory

image

Σκέφτηκα πως όπως αντίστοιχα το USB χρησιμοποιούταν από mac και έτσι διαμορφώθηκαν οι άδειες του, αντίστοιχα αυτό το partition άνηκε σε Win και συμβαίνει κάτι αντίστοιχο. Οπότε αν η δεύτερη πρόταση θα μπορούσε ίσως με κάποιον αντίστοιχο τρόπο να λειτουργήσει, εγώ δεν την κατανοώ στο παραμικρό και έτσι δεν μπορώ να την χρησιμοποιήσω ή και να την μοντάρω κάπως ανάλογα. Για του λόγου το αληθές και από το όνομα που έδωσα στο partition, περίπου πριν 3 μήνες νόμιζα πως βρίσκομαι σε λειτουργικό Arch και το Manjaro είναι κάποιο flavor. :joy:
Είναι σωστά σεταρισμένο το σύστημα? Πως θα μπορούσα να πάρω τα permitions? Θα ήταν αυτή η λύση ώστε να το χρησιμοποιήσω για ογκώδη προγράμματα όπως τα games?

Αρχικά λίγο εξήγηση της εντολή. Το $() τρέχει μια εντολή σε subshell (δηλαδή χωρίς να επηρεάζει αυτό που είσαι) και αντικαθιστά αυτό με το αποτέλεσμα της εντολής. (Όλο αυτό λέγεται command substitution.)

Το whoami είναι η εντολή που επιστρέφει το όνομα χρήστη. Οπότε $(whoami) αντικαθιστά στη γραμμή το όνομα χρήστη πριν αυτή τρέξει. Το chown παίρνει args το owner:groups (ένα τουλάχιστον αλλά και τα δύο προαιρετικά). Άρα chown $(whoami): κάνει εσένα ιδιοκτήτη.

Edit: Υπάρχει και η μεταβλητή $USER, που μάλλον είχα ξεχάσει όταν έγραψα τη προηγούμενη ανάρτηση, κι έχει το ίδιο αποτέλεσμα με το $(whoami).

sudo chown $(chaos): /run/media/chaos/HDD Arch

Εδώ θέλεις chaos: (αφού γράφεις το username κατευθείαν) ενώ χρειάζεται '/run/media/chaos/HDD Arch' (μέσα σε quotes) επειδή το όνομα περιέχει κενά. Βασικά με ' ' λες στο shell πως αυτό αποτελεί ένα argument αντί για δύο (/run/media/chaos/HDD και Arch).

sudo chown $(whoami): /run/media/chaos/HDD Arch

Χρειάζεται '/run/media/chaos/HDD Arch'.

sudo chown $(chaos): /run/media/chaos/HDD_Arch

To /run/media/chaos/HDD_Arch δεν υπάρχει αλλά υπάρχει το '/run/media/chaos/HDD Arch'.

είναι πως για να δουλέψει πρέπει να τον κάνω mount, γεγονός που με βολεύει

Άμα δεν χρειάζεσαι το partition να γίνεται αυτόματα mount και σε βολεύει δεν υπάρχει θέμα. Άμα θες να γίνεται αυτόματα μπορείς είτε βάζοντας τη mount εντολή στο autostart του περιβάλλοντος που χρησιμοποιείς (ευθύς λύση) είτε στο /etc/fstab (κλασσική λύση) είτε με systemd automount (σύγχρονη λύση).

αντίστοιχα αυτό το partition άνηκε σε Win

Οι άδειες είναι μέρος του filesystem οπότε από τη στιγμή που κάνεις format ό,τι προηγούμενο διαγράφεται. Τώρα δεν είμαι σίγουρος γιατί γίνεται mount σαν root. Μπορεί να το είχες κάνει sudo mount κάποτε.

1 «Μου αρέσει»

*Για το original user name το υπέθεσα και για αυτό το δοκίμασα. Σκέφτηκα όμως ότι ο τρόπος που μου δείχνεις αφήνει την δυνατότητα και σε άλλους users που λογικά ισχύει σαν κατανόηση της command substitution. Στην περίπτωση μου όμως που δεν μοιράζομαι με άλλους τον υπολογιστή, άφησα ανοιχτό το ενδεχώμενο ότι μπορεί να στήνεται έτσι για να μπορεί να χρησημοποιηθεί από virtual users του λειτουργικού όπως είναι ο noname. Να σου πω την αλήθεια δεν μου είναι ξεκάθαρο όλο αυτό με τους users groups permitions. Πολύ γενικά και σχηματικά υποθέτω πως αυτή η ιεράρχηση εξυπηρετεί στην ασφάλεια, όπου η διαβάθμιση των αδειών υπο την μορφή 0-1001, οριοθετεί την εμβέλεια χώρου χρήσης της εκάστοτε διαφορετικής λειτουργίας του συστήματος. ;Eτσι ώστε να μην μπλέκει η μια στα πόδια της άλλης, αλλά κυρίως κάποια παραβίαση να μην εισέλθει ανεξέλεγκτη σε έναν πολύ μεγάλο ακόμα και για τον διαχειριστή χώρο. Αλλά σε ένα ελεγχώμενο και οριοθετημένο από τα permitions σημείο. Κι έτσι η ενδεχώμενη βλάβη να περιορίζεται, αλλά και να βρίσκεται ευκολότερα η αιτία" :exploding_head:. (Και με κάτι τέτοια έχω την μάνα μου να μου φωνάζει "Νικολάαακη…Όχι στα βαθιά παιδί μου… :sweat_smile:) :crazy_face:
Τώρα όντως λίγο στα βαθιά…

με ένα αυτοσχέδιο παράδειγμά μου και θεωρόντας το sythax σωστό χάρη παραδείγματος, να μου πεις αν κατάλαβα σωστά, αν βέβαια έχεις την διάθεση…
Σε μια εφαρμογή με password (999) για να μπεις, θα μπορούσε να εκφραστεί ως…
If $(whoispasswd)…type999… then login App.

Σε αυτό θέλω δουλειά Args? Πρώτο? Δεύτερο?.. Έχει γίνει όμως μια πολύ καλή αρχή.
Οπως αυτή πληροφορία …

Πολύτιμη πληροφορία και εξήγηση αποτυχιών και χαμένου χρόνου.

Για αυτό ξέρω τον λόγο. Δεν πρόκειατι για μια μεμωνομένη περίπτωση. Είναι μια από τις “άπειρες” που μου έχουν συμβεί και που θα ήταν ανόητο από πλευράς μου να μην καταλαβαίνω. Έχει συγκεκριμένο χαρακτήρα και συμπεριφορά. Όπως το παρακάτω παράδειγμα. Η εφαρμογή από πίσω είναι εντελώς αχρησιμοποίητη από εμένα. Την κατέβασα για να αντικάταστήσω το Θαντερμπερντ όπου μου έχει βγάλει την ψυχή. Την κατέβασα μπας και καταφέρω να στείλω κανα μειλ.

Επίσης ο λογαριασμός αυτός “την έχει κάνει από εμένα” καιρό τώρα. Αλλά και με τα Ρώσικα η μόνη σχέση που έχω είναι ένας Ουκρανός φίλος και το τρολάρισμα που βλέπεις.

Ακριβώς. Οι παραδοσιακές άδειες Unix είναι ένας απλός και στις περισσότερες φορές αποτελεσματικός τρόπος παροχής ασφάλειας στο σύστημα. Η διαβάθμιση των αδειών βασικά είναι ids που αντιστοιχούν σε κάποιο χρήστη/ομάδα που έχει πρόσβαση (read/write/execute) σε κάποιο resource.

If $(whoispasswd)…type999… then login App.

Αυτό μπορεί να δουλέψει αν το whoispasswd επιστρέφει true/false ωστόσο δεν μπορεί να λάβει interactive input. Άρα βασικά βάζεις ένα input πριν, κάνεις export τη μεταβλητή, και στη συνέχεια το whoispasswd διαβάζοντας τις env μεταβλητές βλέπει αν η συγκεκριμένη επαληθεύει κάποια συνθήκη. Π.χ.

#!/usr/bin/env bash
echo -n "Enter \$password: "
read -s password
echo
export password
if $(whoispasswd); then echo "logged in"; fi

όπου η whoispasswd είναι

#!/usr/bin/env bash
[[ $password == 999 ]]

Λυπάμαι κόλλησα. Δεν μπορώ να κατανοήσω πιο κάτω όταν δεν μου βγαίνει το προηγούμενο πάναπλο…

Με την εντολή 'sudo chown $(chaos): ‘/run/media/chaos/HDD Arch’, μου βγάζει
bash: chaos: command not found
αλλά στη συνέχεια την ίδια στιγμή στη από κάτω γραμμή, μου δίνει
[sudo] password for chaos: …όπου τον δέχεται. Αλλά τώρα όταν π[άω να ανοίξω το directory αυτό, μου απαγορεύει την είσοδο

sudo chown $(chaos): ‘/run/media/chaos/HDD Arch’

Το εξήγησα προηγουμένως όταν έτρεξες την εντολή αυτή τι έκανες λάθος.

Εδώ θέλεις chaos: (αφού γράφεις το username κατευθείαν)

Ωωωω φίλτατε… Σου έχει τύχει ποτέ να χαίρεσαι με κάποιο λάθος σου? Μου διέφυγε το πιο σημαντικό, όπου καθιστά την εντολή ως Sub. Oi παρενθέσεις.
Να κάνω μια μικρή ανακεφαλαίωση λοιπόν, αφενός για τα εύσημα που σου αξίζουν, αλλά και για ενημέρωση της βάσης.
Η ερώτηση στην ουσία απαντιέται με την παρακάτω διαπίστωση.

Στη συνέχεια όμως η εντολή για να πάρω την κυριότητα:

και με την διευκρίνηση σε σχέση με το ότι πρέπει να διαμορφωθεί ως ένα argument και όχι να διαβάζεται από το σύστημα σαν δύο λόγο του κενού στο filename, τοποθετόντας το namepath μεσα σε quote, μου άνοιξε τα μάτια .

Η βοήθεια σου ελάφρυνε τον SSD500G κατά 100G σχεδόν, μιας και κατάφερα να μεταφέρω τα Steam αρχεία στον HD, όπου υπάρχει πολύς χώρος.

Αν δεν κουράζω και δεν υπερβάλω, θα ήθελα να ρωτήσω αν την εντολή αυτή μπορώ να την εφαρμόσω για τα permition του άλλου SSD500 όπου βλέπω πως έχει mount point στον δίσκο που χρησιμοποιώ κυρίως τον τελευταίο καιρό, έτσι ώστε να μπορώ να τον χρησιμοποιήσω με ένα mount από εδώ που είμαι και όχι από το grub menu αποκλειστικά. Έχει ως εξής:

Νομίζω πως είναι σχετική η ερώτηση με το νήμα και δεν χρειάζεται άλλη κοινοποίηση, μιας και πιθανά να απαντιέται με μονολεκτική απάντηση. Αν δεν κολλάει εδώ, ενημερώστε με να το σβήσω. Ευχαριστώ θερμά τον @konfou.

Αυτό το νήμα έκλεισε αυτόματα 2 ημέρες μετά την τελευταία απάντηση. Δεν επιτρέπονται πλέον νέες απαντήσεις.