真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹

這篇文章主要介紹“Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹”,在日常操作中,相信很多人在Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)企業(yè)建站,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站制作、成都網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。

Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能

相關(guān)Docker參數(shù)

--cap-add: Add Linux capabilities
--cap-drop: Drop Linux capabilities
--privileged=false: Give extended privileges to this container
--device=[]: Allows you to run devices inside the container without the --privileged flag.

出于容器之間和容器與宿主機(jī)的安全隔離保護(hù),在默認(rèn)的Docker配置下,Docker容器是沒有系統(tǒng)權(quán)限的。例如不能在一個(gè)Docker容器內(nèi),再運(yùn)行一個(gè)Dokcer服務(wù)(譯者注:或者在容器內(nèi)修改系統(tǒng)時(shí)間)。這是因?yàn)樵谀J(rèn)情況下,容器內(nèi)的進(jìn)程不允許訪問任何宿主機(jī)上的設(shè)備。只有獲得設(shè)備訪問授權(quán)的容器,才可以訪問所有設(shè)備(請(qǐng)參閱關(guān)于 cgroups設(shè)備的文檔)。

當(dāng)容器管理員執(zhí)行docker run --privileged時(shí),將允許Docker容器訪問宿主機(jī)上的所有設(shè)備,并在AppArmor或SELinux中設(shè)置一些配置,使容器內(nèi)的進(jìn)程可以與容器外運(yùn)行的進(jìn)程幾乎一樣權(quán)限來訪問宿主機(jī)。(有關(guān)運(yùn)行--privileged參數(shù)的更多信息,請(qǐng)?jiān)L問 Docker博客。)

如果想限制對(duì)特定設(shè)備的訪問,可以使用--device參數(shù)。它允許您指定從容器內(nèi)訪問的一個(gè)或多個(gè)設(shè)備。

$ docker run --device=/dev/snd:/dev/snd ...

開啟--device參數(shù)后,容器內(nèi)的進(jìn)程默認(rèn)將獲得這些設(shè)備的read、writemknod權(quán)限。您也可以為每個(gè)--device參數(shù),附加第三個(gè):rwm選項(xiàng)來覆蓋默認(rèn)的設(shè)置:

$ docker run --device=/dev/sda:/dev/xvdc --rm -it ubuntu fdisk  /dev/xvdc
Command (m for help): q
$ docker run --device=/dev/sda:/dev/xvdc:r --rm -it ubuntu fdisk  /dev/xvdc
You will not be able to write the partition table.
Command (m for help): q
$ docker run --device=/dev/sda:/dev/xvdc:w --rm -it ubuntu fdisk  /dev/xvdc
    crash....
$ docker run --device=/dev/sda:/dev/xvdc:m --rm -it ubuntu fdisk  /dev/xvdc
fdisk: unable to open /dev/xvdc: Operation not permitted

除了--privileged之外,操作員還可以使用--cap-add--cap-drop對(duì)功能進(jìn)行細(xì)粒度控制。默認(rèn)情況下,Docker有一個(gè)保留的默認(rèn)功能列表。

下表列出了Linux功能選項(xiàng),這些選項(xiàng)是默認(rèn)允許的,可以刪除。

功能項(xiàng)功能描述
SETPCAP修改進(jìn)程的權(quán)限
MKNOD使用mknod(2)創(chuàng)建特殊文件
AUDIT_WRITE將記錄寫入內(nèi)核審計(jì)日志
CHOWN任意更改文件UIDs和GIDs(見chown(2))
NET_RAW使用 RAW 和 PACKET 套接字
DAC_OVERRIDE繞過文件的讀、寫和執(zhí)行權(quán)限檢查
FOWNER繞過對(duì)進(jìn)程的文件系統(tǒng)UID與文件的UID進(jìn)行權(quán)限匹配的檢查操作
FSETID當(dāng)文件被修改時(shí),不要清除set-user-ID和set-group-ID權(quán)限位
KILL繞過發(fā)送信號(hào)的權(quán)限檢查
SETGID自定義處理進(jìn)程GID和補(bǔ)充GID列表
SETUID自定義處理進(jìn)程UID
NET_BIND_SERVICE將套接字綁定到互聯(lián)網(wǎng)域名專用端口(端口號(hào)小于1024)。
SYS_CHROOT使用chroot(2),更改根目錄
SETFCAP設(shè)置文件功能

下表顯示了默認(rèn)情況下未授予的功能,可以手動(dòng)添加這些功能。

功能項(xiàng)功能描述
SYS_MODULE加載和卸載內(nèi)核模塊
SYS_RAWIO執(zhí)行I / O端口操作(iopl(2)和ioperm(2))
SYS_PACCT使用acct(2),打開或關(guān)閉進(jìn)程計(jì)數(shù)
SYS_ADMIN執(zhí)行一系列系統(tǒng)管理操作
SYS_NICE提高進(jìn)程的nice值(nice(2),setpriority(2))并更改任意進(jìn)程的nice值
SYS_RESOURCE覆蓋資源限制
SYS_TIME設(shè)置系統(tǒng)時(shí)鐘(settimeofday(2),stime(2),adjtimex(2)); 設(shè)置實(shí)時(shí)(硬件)時(shí)鐘
SYS_TTY_CONFIG使用vhangup(2); 在虛擬終端上使用各種特權(quán)的ioctl(2)操作
AUDIT_CONTROL啟用和禁用內(nèi)核審核; 更改審核過濾器規(guī)則; 檢索審核狀態(tài)和過濾規(guī)則
MAC_ADMIN允許MAC配置或狀態(tài)更改。 為Smack LSM而實(shí)現(xiàn)的功能
MAC_OVERRIDE覆蓋強(qiáng)制訪問控制(MAC)。 為Smack Linux安全模塊(LSM)實(shí)現(xiàn)
NET_ADMIN執(zhí)行各種與網(wǎng)絡(luò)相關(guān)的操作
SYSLOG執(zhí)行syslog(2)的權(quán)限操作。
DAC_READ_SEARCH繞過文件讀取權(quán)限檢查以及目錄讀取和執(zhí)行權(quán)限檢查
LINUX_IMMUTABLE設(shè)置FS_APPEND_FL和FS_IMMUTABLE_FL i-node 標(biāo)志
NET_BROADCAST使套接字可以實(shí)現(xiàn)廣播,并監(jiān)聽廣播包
IPC_LOCK鎖定內(nèi)存(mlock(2),mlockall(2),mmap(2),shmctl(2))
IPC_OWNER繞過對(duì)System V IPC對(duì)象操作的權(quán)限檢查
SYS_PTRACE使用ptrace(2)跟蹤任意進(jìn)程
SYS_BOOT使用reboot(2)和kexec_load(2),重新引導(dǎo)并加載新內(nèi)核以供程序執(zhí)行
LEASE在任意文件上建立Lease租約(請(qǐng)參閱fcntl(2))
WAKE_ALARM觸發(fā)喚醒系統(tǒng)的操作
BLOCK_SUSPEND開啟可以阻止系統(tǒng)掛起的功能

更多的參考信息可以在 capabilities(7) - Linux man page Linux手冊(cè)頁(yè)中找到

--cap-add --cap-drop兩個(gè)參數(shù)都支持值ALL,所以如果Docker管理員想要獲得除了MKNOD以外的所有Linux功能,可以使用:

$ docker run --cap-add=ALL --cap-drop=MKNOD ...

如果想與系統(tǒng)的網(wǎng)絡(luò)堆棧進(jìn)行交互,應(yīng)該使用--cap-add=NET_ADMIN來修改網(wǎng)絡(luò)接口,而不是使用--privileged。

$ docker run -it --rm  ubuntu:14.04 ip link add dummy0 type dummy
RTNETLINK answers: Operation not permitted
$ docker run -it --rm --cap-add=NET_ADMIN ubuntu:14.04 ip link add dummy0 type dummy

要安裝一個(gè)基于FUSE的文件系統(tǒng),您需要結(jié)合--cap-add--device:

$ docker run --rm -it --cap-add SYS_ADMIN sshfs sshfs sven@10.10.10.20:/home/sven /mnt
fuse: failed to open /dev/fuse: Operation not permitted
$ docker run --rm -it --device /dev/fuse sshfs sshfs sven@10.10.10.20:/home/sven /mnt
fusermount: mount failed: Operation not permitted
$ docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs
# sshfs sven@10.10.10.20:/home/sven /mnt
The authenticity of host '10.10.10.20 (10.10.10.20)' can't be established.
ECDSA key fingerprint is 25:34:85:75:25:b0:17:46:05:19:04:93:b5:dd:5f:c6.
Are you sure you want to continue connecting (yes/no)? yes
sven@10.10.10.20's password:
root@30aa0cfaf1b5:/# ls -la /mnt/src/docker
total 1516
drwxrwxr-x 1 1000 1000   4096 Dec  4 06:08 .
drwxrwxr-x 1 1000 1000   4096 Dec  4 11:46 ..
-rw-rw-r-- 1 1000 1000     16 Oct  8 00:09 .dockerignore
-rwxrwxr-x 1 1000 1000    464 Oct  8 00:09 .drone.yml
drwxrwxr-x 1 1000 1000   4096 Dec  4 06:11 .git
-rw-rw-r-- 1 1000 1000    461 Dec  4 06:08 .gitignore
....

默認(rèn)的seccomp配置文件將根據(jù)所選的功能進(jìn)行調(diào)整,以允許使用功能所允許的功能,所以從Docker1.12之后的版本,不應(yīng)該對(duì)此進(jìn)行調(diào)整。在Docker 1.10和1.11中沒有這種情況,在添加功能時(shí)可能需要使用一個(gè)自定義的seccomp配置文件或使用--security-opt seccomp=unconfined。

到此,關(guān)于“Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


分享題目:Docker容器運(yùn)行時(shí)權(quán)限和Linux系統(tǒng)功能簡(jiǎn)單介紹
分享URL:http://weahome.cn/article/pgccop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部