Evo jednog zanimljivog pitanjca iz realnog sveta i sa realnog razgovora za posao koji se zaista desio. Pitanje glasi: Kako upravljati privilegijama – ako /bin/chmod nije izvršni fajl?

Dakle, vizualizacija problema bi bila ovakva….neko je uradio chmod -x /bin/chmod pa komanda chmod više ne radi jer nije izvršna…kako je vratiti da bude izvršna i da radi kao i ranije ali uz par otežavajućih oklnosti – radi se samo sa onim što imaš sad na raspolaganju – zabranjeno je restartovati server pa raditi iz live linuxa, koristiti bilo kakav third-part softver, računati kao da taj kompjuter nema USB portove, NAS, bilo kakav dodatni hardver, ni bluetooth ni nikakve dodatne programe osim onih najosnovnijih i naravno, zabranjeno je kopirati chmod sa drugih distribucija.

Ovo je inače pitanje da bi se skontao način razmišljanja jednog Linuksaša (koji nije proveo nekoliko dana u nespavanju i nije popio kilo Guarane i pokile kafe da bi ostao u stanju svesti pre testa) u nekakvoj takvoj situaciji. Realno – ko bi ikad uradio tako nešto, ali eto – moguće je i kako se onda izboriti sa tim? Da vizualizijem pitanje…kroz cli!?

Dakle, kreiran fajl ‘testfajl.txt’, dodate mu neke permisije, uklonjena execute permisija sa chmoda i datom fajlu (ili bilo kojem drugom) više nije moguće menjati privilegije kroz chmod – jer isti više nije izvršan.

Četiri rešenja ću dati ispod ali mora da se klikne u njih (da ne bi bilo baš na izvolte, ako ste rešili da razmislite sami)

Rešenje broj 1
[root@kompjuteras ~] cp /bin/cat chmod-temp
[root@kompjuteras ~] cp /bin/chmod chmod-temp
cp: overwrite ‘chmod-temp’? y
[root@kompjuteras ~] ./chmod-temp +x /bin/chmod
[root@kompjuteras ~] chmod 644 testfajl.txt
[root@kompjuteras ~]
# Sad chmod radi
Rešenje broj 2
[root@kompjuteras ~] cp /bin/cat chmod-temp 
[root@kompjuteras ~] cat /bin/chmod > chmod-temp 
[root@kompjuteras ~] ./chmod-temp +x /bin/chmod 
[root@kompjuteras ~] chmod 644 testfajl.txt 
[root@kompjuteras ~]
# Sad chmod radi
Rešenje broj 3
[root@kompjuteras ~] install --mode=u=rwx,g=rx,o=rx /bin/chmod chmod-temp
[root@kompjuteras ~] install --mode=u=rwx,g=rx,o=rx chmod-temp /bin/chmod
[root@kompjuteras ~] # Moze i: ./chmod-temp +x /bin/chmod
[root@kompjuteras ~] chmod 755 testfajl.txt
[root@kompjuteras ~]
# Chmod opet radi
Rešenje broj 4

Reinstalirati paket u kojem se nalazi data komanda, naći je preko whatprovide i uraditi reinstall