Dhammaan hababka ku jira weelka waxay u socon doonaan sidii xidid isticmaale, ilaa aad si gaar ah u qeexdo mooyee. Tani waxay u muuqataa mid aad u habboon, sababtoo ah isticmaalahani ma laha xayiraad. Tani waa sababta ka shaqeynta xididka ay u khaldan tahay dhinaca amniga. Haddii qofna maskaxdiisa saxda ah uusan ka shaqeynin kombuyuutarka maxalliga ah oo leh xuquuqaha xididka, markaa qaar badan oo ka mid ah hababka hoos yimaada xididka weelasha.
Had iyo jeer waxaa jira cayayaan u oggolaanaya malware-ku inuu ka baxsado weelka oo uu galo kombuyuutarka martida loo yahay. Anaga oo u malaynaya tan ugu xun, waa in aan hubinno in hababka gudaha weelka ay maamulaan isticmaale aan wax xuquuq ah ku lahayn mashiinka martida loo yahay.
Abuuritaanka isticmaale
Abuuritaanka isticmaalaha weelka waxba kama duwana ka abuurista qaybinta Linux. Si kastaba ha ahaatee, amarradu waxay ku kala duwanaan karaan sawirada salka kala duwan.
Qaybinta ku salaysan debian, waxaad u baahan tahay inaad ku darto waxa soo socda Dockerfile:
RUN groupadd --gid 2000 node
&& useradd --uid 2000 --gid node --shell /bin/bash --create-home node
Alpine:
RUN addgroup -g 2000 node
&& adduser -u 2000 -G node -s /bin/sh -D node
Nidaamyada socodsiinta ee isticmaalaha
Si aad u socodsiiso dhammaan hababka xiga isticmaale ahaan UID 2000, orod:
USER 2000
Si aad u socodsiiso dhammaan geeddi-socodyadii xigay ahaan isticmaale node, orod:
USER node
Wax badan ka sii akhri
Mugga kor u qaadista
Markaad kor u qaadayso mugga gudaha weelka, sii isticmaaluhu awood uu wax ku akhriyo iyo/ama qoro faylasha. Si tan loo sameeyo, UID (GID) isticmaalaha weelka iyo isticmaalaha ka baxsan weelka ee haysta ogolaanshaha ku habboon ee gelitaanka faylka waa inay iswaafaqaan. Xaaladdan oo kale, isticmaalayaashu macno ma laha.
Inta badan kumbuyuutarka Linux, UID-ga isticmaale iyo GID waxay la mid yihiin 1000. Aqoonsiyadan waxaa loo qoondeeyay isticmaaleha ugu horreeya ee kumbuyuutarka.
Helitaanka tilmaamayaashaadu way fududahay:
id
Waxaad heli doontaa macluumaad dhamaystiran oo ku saabsan isticmaalahaaga.
Ku beddel 2000 tusaale ahaan aqoonsigaaga wax walbana way fiicnaan doonaan.
Ku meelaynta UID iyo GID isticmaale
Haddii isticmaaluhu hore loo abuuray, laakiin aad u baahan tahay inaad bedesho aqoonsiga, waxaad u samayn kartaa sidan:
RUN usermod -u 1000 node
&& groupmod -g 1000 node
Haddii aad isticmaalayso sawirka saldhigga alpine, waxaad u baahan tahay inaad rakibto xirmada hooska:
RUN apk add βno-cache shadow
Gudbitaanka aqoonsiga isticmaalaha gudaha weelka marka sawirka la dhisayo
Haddii aqoonsigaaga iyo aqoonsiga dhammaan dadka ka shaqeeya mashruuca ay iswaafaqaan, markaas kaliya ku sheeg aqoonsigan Dockerfile. Si kastaba ha ahaatee, inta badan aqoonsiga isticmaaluhu isma dhigmaan.
Sida loo gaaro waxaad rabto isla markiiba ma cadda. Aniga ahaan, tani waxay ahayd waxa ugu adag ee habka maaraynta Docker. Isticmaalayaal badan oo dockers ah ma oga inay jiraan heerar kala duwan oo nolosha sawirka ah. Marka hore, sawirka waxaa la isugu geeyaa iyadoo la isticmaalayo Dockerfile. Markaad weel ka wado sawirka, Dockerfile-ka lama isticmaalo.
Abuuritaanka isticmaale waa inuu dhacaa marka sawirka la dhisayo. Isla sidaas oo kale ayaa khuseysa go'aaminta isticmaalaha kaas oo hababka la bilaabay. Tani waxay ka dhigan tahay in aan si uun uga gudubno UID (GID) gudaha weelka.
Awaamiirta waxaa loo isticmaalaa in lagu isticmaalo doorsoomayaasha dibadda ee Dockerfile
Dockerfile
ARG UID=1000
ARG GID=1000
ENV UID=${UID}
ENV GID=${GID}
RUN usermod -u $UID node
&& groupmod -g $GID node
Waxaad doodaha kaga gudbi kartaa docker-compose sidan:
docker-compose
build:
context: ./src/backend
args:
UID: 1000
GID: 1000
PS Si aad u barato dhammaan qallafsanaanta Docker, kuma filna inaad akhrido dukumeentiyada ama maqaallada. Waxaad u baahan tahay inaad wax badan barato, waxaad u baahan tahay inaad dareento Docker.
Source: www.habr.com