dockerfile 中的user
dockerfile中可以通過user指定username/uid來設置docker中運行程序在linux主機上的用戶溺森。這樣設置的好處是避免docker命令默認情況下使用linux中root用戶作為運行者彩匕,從而擁有過高的權限的不安全性揩页。
但在通過user設置用戶名時吞琐,需要注意:
- 在linux上對docker鏡像使用的資源(volume掛載文件夾等)設置用戶權限具被。
- 盡量使用uid配置揍移,因為docker作為虛擬容器,用戶名若出現(xiàn)沖突/命名不一致呆盖,會導致權限不足的情況拖云,linux的用戶uid則可以在docker-linux之間進行傳遞。(這里的傳遞機制是linux默認使用uid進行用戶驗證的)
linux添加用戶并配置權限
-
useradd
useradd可用來建立用戶帳號应又。帳號建好之后宙项,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號株扛,實際上是保存在/etc/passwd
文本文件中尤筐。
文件說明:- /etc/passwd 用戶的配置文件,內容格式
root:x:0:0:root:/root:/bin/bash
,用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
- /etc/shadow 用戶配置的補充:
root:!:17043:0:99999:7:::
洞就,登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
- /etc/group 賬戶組配置
root:x:0:
盆繁,組名:口令:組標識號:組內用戶列表
- /etc/passwd 用戶的配置文件,內容格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
參數(shù)詳解:
參數(shù)簡寫 | 全稱 | 說明 |
---|---|---|
-c | comment 備注信息 | 加上備注文字,備注文字保存在passwd的備注欄中旬蟋。 |
-d | home 用戶的主目錄 | 指定用戶登入時的主目錄油昂,替換系統(tǒng)默認值/home/<用戶名> |
-D | 變更預設值。 | |
-e | expire 過期時間 | 指定賬號的失效日期倾贰,日期格式為MM/DD/YY秕狰,例如06/30/12。缺省表示永久有效躁染。 |
-f | inactive 過期關閉 | 指定在密碼過期后多少天即關閉該賬號鸣哀。如果為0賬號立即被停用;如果為-1則賬號一直可用吞彤。默認值為-1. |
-g | group 用戶所屬的組 | 指定用戶所屬的群組我衬。值可以使組名也可以是GID叹放。用戶組必須已經(jīng)存在的,期默認值為100挠羔,即users井仰。 |
-G | group 附加群組 | 指定用戶所屬的附加群組。 |
-m | 不跟后綴命令單獨使用 | 自動建立用戶的登入目錄破加。 |
-M | 不跟后綴命令單獨使用 | 不要自動建立用戶的登入目錄俱恶。 |
-n | nogroup | 取消建立以用戶名稱為名的群組,不指定-g/-G時范舀,會自動創(chuàng)建與名字相同的group合是,使用-n則不創(chuàng)建group。 |
-r | 建立系統(tǒng)賬號锭环。 | |
-s | shell 指定登錄用戶后的shell命令常用為 /bin/bash /sbin/nologin | 指定用戶登入后所使用的shell聪全。默認值為/bin/bash。 |
-u | uid 用戶的uid值 | 指定用戶ID號辅辩。該值在系統(tǒng)中必須是唯一的难礼。0~499默認是保留給系統(tǒng)用戶賬號使用的,所以該值必須大于499玫锋。 |
其中的 -d -g -s -u為常用選項
權限相關
- 查看文件/文件夾權限
使用 ll或者 ls -l命令可以查看文件夾下的文件/文件夾的權限相關信息
[root@localhost redisdata]# ll
total 0
-rw-r--r--. 1 redistest root 0 Nov 4 09:26 appendonly.aof
`權限 文件數(shù)量 所有者 組群 大小 創(chuàng)建日期 名稱`
-rw-r--r--.
表示的是文件夾/文件的權限相關信息蛾茉,第一位 -
、d
表示是文件 還是文件夾撩鹿,后面每三位一組分別表示 所有者(user)臀稚、組群(group)、其他人(other)的權限項目三痰。
rwx
三位數(shù)字的順序表示為 r=read讀取權限,w=write寫入權限,x=executable可執(zhí)行文件執(zhí)行權限窜管,若無此權限散劫,則使用-
代替,表示無幕帆。
其中的rwx也可以用數(shù)字來代替
r=4获搏、w=2、x =1失乾、-=0常熙,這樣的話,對于ug0的權限可以使用754這樣的位表示法簡寫碱茁。
-rw------- (600) 只有所有者才有讀和寫的權限
-rw-r--r-- (644) 只有所有者才有讀和寫的權限裸卫,組群和其他人只有讀的權限
-rwx------ (700) 只有所有者才有讀,寫纽竣,執(zhí)行的權限
-rwxr-xr-x (755) 只有所有者才有讀墓贿,寫茧泪,執(zhí)行的權限,組群和其他人只有讀和執(zhí)行的權限
-rwx--x--x (711) 只有所有者才有讀聋袋,寫队伟,執(zhí)行的權限,組群和其他人只有執(zhí)行的權限
-rw-rw-rw- (666) 每個人都有讀寫的權限
-rwxrwxrwx (777) 每個人都有讀寫和執(zhí)行的權限
修改權限chmod
chmod 選項 參數(shù)
chmod [{ugoa}{+-=}{rwx}] [文件或目錄]
在chmod中使用linux中權限和用戶相關的tag來表示幽勒。
tag | 說明 |
---|---|
u | 代表所有者(user) |
g | 代表所有者所在的組群(group) |
o | 代表其他人嗜侮,但不是u和g (other) |
a | 代表全部的人,也就是包括u啥容,g和o |
r | 表示文件可以被讀(read) |
w | 表示文件可以被寫(write) |
x | 表示文件可以被執(zhí)行(如果它是程序的話) |
- 選項 選項一般使用下方所示的格式指定權限
<權限范圍>+<權限設置>:開啟權限范圍的文件或目錄的該選項權限設置锈颗;
<權限范圍>-<權限設置>:關閉權限范圍的文件或目錄的該選項權限設置;
<權限范圍>=<權限設置>:指定權限范圍的文件或目錄的該選項權限設置干毅;
- 參數(shù) 參數(shù)一般就是指定的文件/文件夾
chmod u+x file //為文件設置:所有者可以執(zhí)行的權限
chmod u=rwx,g=rw,o=r dir //為文件夾設置:所有者讀寫執(zhí)行權限宜猜,組群讀寫權限,其他人讀權限
chmod 764 dir //修改權限為 讀寫執(zhí)行硝逢、讀寫姨拥,讀
chmod a+x file //對文件的u,g,o都設置可執(zhí)行屬性