Linux ç¨æ·ä¸ç»ç®æ | AIçæåç¿»è¯
Question: Iâm always confused by groups and users in the previous explanations. Is this normal? How do Linux user groups actually work?
Answer:
æ¯çï¼èµ·å对 Linux ä¸ç user å group æå°å°ææ¯å®å ¨æ£å¸¸çââå³ä½¿æ¯ä½¿ç¨ Linux å¤å¹´çäººï¼ææ¶ä¹éè¦åå¤ç¡®è®¤å®ä»¬æ¯å¦ä½äº¤äºçãè¿äºæ¦å¿µé常强大ï¼ä½å¨å次æ¥è§¦æ¶å¹¶ä¸ç´è§ã
以䏿¯å
³äº Linux users å groups å¦ä½å·¥ä½çæ¸
æ°ã鿥çè§£éï¼ç¹å«æ¯ç»åæä»¬ä¸ºä»ä¹å¨ nginx ä¸ä½¿ç¨ www-data group çèæ¯ã
1. æ¯ä¸ä¸ªæä»¶åæä»¶å¤¹é½æä¸ä¸ª owner user + ä¸ä¸ª owner group
è¿è¡ä»¥ä¸å½ä»¤æ¥çï¼
ls -l /home/lzw/qDownloads
示ä¾è¾åºï¼
-rw-r--r-- 1 lzw lzw 1234 Feb 10 02:00 movie.mp4
drwxr-xr-x 2 lzw lzw 4096 Feb 10 01:00 Series/
åè§£éï¼
lzw lzwâ owner user = lzw, owner group = lzw- ä¸ç»
rwxæéæå³çï¼- 第ä¸ç»
rwxâ owner (user lzw) çæé - 第äºç»
r-xâ group (group lzw) çæé - 第ä¸ç»
r--â everyone else (å ¶ä»ç¨æ·) çæé
- 第ä¸ç»
2. æ¯ä¸ªç¨æ·å¯ä»¥å±äºå¤ä¸ª groups
ä½ çç¨æ· lzw å¯è½å±äºè¿äº groupsï¼ç¨æ¤å½ä»¤æ£æ¥ï¼ï¼
groups lzw
# æè
ç´æ¥è¾å
¥ï¼groupsï¼å½ä»¥ lzw ç»å½æ¶ï¼
å ¸åè¾åºï¼
lzw adm cdrom sudo dip plugdev lpadmin sambashare
â lzw æ¯ä»èªå·± group lzw çæåï¼åæ¶ä¹æ¯å
¶ä»å 个 group çæåã
nginx ç¨æ·ï¼é常å为 www-dataï¼å±äºï¼
groups www-data
# éå¸¸åªæï¼www-data
ä½å¦æéè¦ï¼æä»¬å¯ä»¥å° www-data æ·»å å°å
¶ä» groups ä¸ã
3. nginx å¦ä½è·å¾è®¿é®ä½ æä»¶çæéï¼æä»¬ä½¿ç¨ç两ç§ä¸»è¦æ¹å¼ï¼
æ¹å¼ A â ç» âothersâ æé (o+rx)
chmod -R o+rx /home/lzw/qDownloads
â ç³»ç»ä¸çä»»ä½äººï¼å æ¬ www-dataï¼é½å¯ä»¥è¯»ååååºè¯¥æä»¶å¤¹ã â ç®åï¼ä½å®å ¨æ§è¾ä½ââä»»ä½ service æ user é½è½çå°ä½ çä¸è½½å 容ã
æ¹å¼ B â ä½¿ç¨ group æºå¶ï¼æ¨èï¼
æä»¬è¿æ ·åï¼
sudo chgrp -R www-data /home/lzw/qDownloads
sudo chmod -R g+rx /home/lzw/qDownloads
sudo chmod g+x /home/lzw
å®é åçäºä»ä¹ï¼
- æä»¶ç group owner åæäº
www-data - group æé (
g+rx) 被设置为 read + execute - å 为
www-dataç¨æ·å¨www-datagroup ä¸ï¼nginx å¯ä»¥ä½¿ç¨ group æé - nginx ä¸éè¦æä¸ºæä»¶ owner (
lzw)ï¼ä¹ä¸éè¦ âothersâ æé
ç»æï¼åªæ nginxï¼ä»¥å www-data group ä¸çå
¶ä» processï¼å¯ä»¥è¯»å该æä»¶å¤¹ââè¿è¦å®å
¨å¾å¤ã
å½¢è±¡çæ¯å» â ç°å®çæ´»
- ä½ çæ¿å =
/home/lzw - ä½ ççµå½±æ¶è =
/home/lzw/qDownloads - ä½ = user
lzw - ä½ ç家人 = group
family - Nginx = ä¸ä¸ªå为
www-dataçå¿«éå
é项ï¼
- 让é¨å¼çï¼è®©ææäººé½è½èµ°è¿æ¥ (chmod o+rx) â ç®åä½ä»»ä½äººé½è½è¿å ¥
- ç»å¿«éåä¸æå®¶äººçé¥å (chgrp family + chmod g+rx) â åªæå®¶äºº + å¿«éåå¯ä»¥è¿å ¥
Linux groups = å¨ä¸è®©æäººæä¸ºæ¿ä¸»çæ åµä¸ï¼ç»ä»ä»¬ä¸æâå¤ç¨é¥åâã
æ»ç»è¡¨ â æéå³çæå
大夿° Linux æ°æä¼ä»â对ææäººå¼æ¾â(o+r) å¼å§ï¼ç¶åç¨åå¦ä¹ group æå·§ââè¿å¾æ£å¸¸ã
å¦æè¿æä»»ä½å°æï¼è¯·åè¯æå ·ä½åªé¨åï¼ä¾å¦ âchgrp å°åºæ¹åäºä»ä¹ï¼â æ â为ä»ä¹æä»¬éè¦å¨ /home/lzw ä¸è®¾ç½® g+xï¼âï¼ï¼æä¼ç¨æ´å¤ä¾åæ¥è§£éã
References:
- None needed â this is core Linux filesystem basics.
