av en kompis som vill ha en förklaring på vad det gör, men jag har själv ingen aning om vad just detta gör, så undrar om det kanske finns någon där ute som kan hjälpa mig?
Du ska aldrig köra kommandon med sudo om du inte vet vad kommandot gör. I just det här fallet är det ingen större fara eftersom det där kommandot inte ändrar något, utan bara letar reda på filer med vissa egenskaper.
Men om din kompis inte förstår vilka filegenskaper kommandot letar efter så har han heller ingen nytta av resultatet. Utan att veta vad din kompis försöker göra så går det inte att avgöra om det där kommandot är lämpligt eller inte.
Jo det vet jag att man inte ska göra, men frågade honom vad han skulle ha det till och det är tydligen så att det har med en uppgift i skolan att göra då man vill veta vad just detta kommandot gör och varför det kan vara intressant att veta.
Kommandot letar som sagt reda på filer som har vissa egenskaper och är därför bara intressant för den som vill veta vilka filer som har de här egenskaperna. Anledningen till att vilja ha tag i den informationen är att de här filegenskaperna utgör en säkerhetsrisk. Men utan att veta vilka filer som bör och inte bör ha dessa egenskaper så är kommandot helt oanvändbart.
Okej, men om jag omformulerar frågan till. Vilka specifika egenskaper är det jag letar efter med just detta kommando. Jag förstår att find har funktionen att hitta vissa filer, och type en specifik sort. men det jag undrar är då vad uttrycket inom parentesen säger alltså vilka filer är det datorn letar fram och vilka egenskaper har dem.
(-perm -4000 -o -perm -2000)
Meningen med att gå en utbildning är att du, eller som du kallar det "en kompis", ska läsa dig till kunskapen för att lära dig något.
Forumet är inte till för att göra skoluppgifterna åt dig.
Du får ursäkta att jag svarar svepande, men du har ställt frågan i nybörjardelen av forumet och ett mer detaljerat svar hör inte hemma där. Jag kan flytta tråden till avancerat bruk om du känner att du behöver en mer ingående förklaring av vad kommandot gör. Annars är nog egentligen det bästa att du och/eller din kompis går igenom dokumentationen till kommandot find. Allt ni undrar över finns utförligt beskrivet där.
Kursliteraturen som han har fått säger inget om just det uppgiften han har fått är att genom att använda kommandot för att lista ut vad det ger varav varken han eller de andra i hans grupp har lyckats med det, det är därför vi vänder oss till forum annars skulle vi inte ens ta upp frågan...
Konservburk skrev:Du får ursäkta att jag svarar svepande, men du har ställt frågan i nybörjardelen av forumet och ett mer detaljerat svar hör inte hemma där. Jag kan flytta tråden till avancerat bruk om du känner att du behöver en mer ingående förklaring av vad kommandot gör. Annars är nog egentligen det bästa att du och/eller din kompis går igenom dokumentationen till kommandot find. Allt ni undrar över finns utförligt beskrivet där.
du får gärna flytta tråden så den passar bättre in.
Du gör såklart som du vill, men det allra bästa är nog om du efter genomläsningen försöker förklara för mig vad du tror att kommandot gör. Då kan jag bekräfta att du har förstått det hela eller peka på och rätta till eventuella missförstånd.
Konservburk skrev:Du gör såklart som du vill, men det allra bästa är nog om du efter genomläsningen försöker förklara för mig vad du tror att kommandot gör. Då kan jag bekräfta att du har förstått det hela eller peka på och rätta till eventuella missförstånd.
Som jag fattar det så letar det upp alla program som ger speciella privilegier till användaren som kör dem.
Alltså suid/sgid-program som ligger på systemet. Jag är dock lite osäker på vilka speciella privileger det get men antar att det är root-access vilket gör så man kan ändra lösen osv
Prozze skrev:Alltså suid/sgid-program som ligger på systemet. Jag är dock lite osäker på vilka speciella privileger det get men antar att det är root-access vilket gör så man kan ändra lösen osv
Det är rätt uppfattat att det gäller suid och sgid. Men suid och sgid ger nödvändigtvis inte root-rättigheter. Exakt vilka rättigheter de ger beror helt på vilken ägare och grupp suid/sgid-filen har.
Sen har vi det här med att kommandot bara skulle hitta program. Det stämmer faktiskt inte. Det är möjligt/troligt att det egentligen var tanken, men som kommandot är skrivet nu så hittar det alla filer med suid och/eller sgid.
Det skulle nog vara en bra övning att skriva om kommandot så att det bara hitta körbara suid/sgid-program. Och kanske till och med göra det ännu lite svårare och skriva om kommandot så att det bara hittar körbara suid/sgid-program som ger root-rättigheter.
av en kompis som vill ha en förklaring på vad det gör, men jag har själv ingen aning om vad just detta gör, så undrar om det kanske finns någon där ute som kan hjälpa mig?
Mhv prozze
Har du eller ni läst informationen man får av ”man find”? Där kan man bland annat läsa:
-perm mode
File's permission bits are exactly mode (octal or symbolic). Since an exact match is required, if you want to
use this form for symbolic modes, you may have to specify a rather complex mode string. For example -perm g=w
will only match files which have mode 0020 (that is, ones for which group write permission is the only permis‐
sion set). It is more likely that you will want to use the `/' or `-' forms, for example -perm -g=w, which
matches any file with group write permission. See the EXAMPLES section for some illustrative examples.
-perm -mode
All of the permission bits mode are set for the file. Symbolic modes are accepted in this form, and this is
usually the way in which would want to use them. You must specify `u', `g' or `o' if you use a symbolic mode.
See the EXAMPLES section for some illustrative examples.
-perm /mode
Any of the permission bits mode are set for the file. Symbolic modes are accepted in this form. You must spec‐
ify `u', `g' or `o' if you use a symbolic mode. See the EXAMPLES section for some illustrative examples. If no
permission bits in mode are set, this test matches any file (the idea here is to be consistent with the behav‐
iour of -perm -000).
-perm +mode
Deprecated, old way of searching for files with any of the permission bits in mode set. You should use -perm
/mode instead. Trying to use the `+' syntax with symbolic modes will yield surprising results. For example,
`+u+x' is a valid symbolic mode (equivalent to +u,+x, i.e. 0111) and will therefore not be evaluated as -perm
+mode but instead as the exact mode specifier -perm mode and so it matches files with exact permissions 0111
instead of files with any execute bit set. If you found this paragraph confusing, you're not alone - just use
-perm /mode. This form of the -perm test is deprecated because the POSIX specification requires the interpreta‐
tion of a leading `+' as being part of a symbolic mode, and so we switched to using `/' instead.