--uts=privateがホスト名の設定を許可しないのはなぜですか?

--uts=privateがホスト名の設定を許可しないのはなぜですか?

コンテナを起動しても--uts=privateホスト名を変更できません。しかし、これがまさにその目的であると思いますか?

--uts=private効果は何ですか?

$ podman run -ti --uts=private alpine
/ # hostname foo.bar.baz
hostname: sethostname: Operation not permitted

CentOSではエラーが少し異なります。

$ podman run -ti --uts=private centos:7
[root@e5fd4d09f5c3 /]# hostname foo.bar.baz
hostname: you must be root to change the host name

コンテナに新しいプライベートネームスペースがある場合、ホスト名を変更できないのはなぜですか?

ベストアンサー1

名前空間機能に基づいてあなたをブロックしています。デフォルトでは、コンテナはCAP_SYS_ADMINをインポートしません。

$   podman run -ti --uts=private --hostname foobar centos
# hostname
foobar
$   podman run -ti --cap-add SYS_ADMIN --uts=private  centos
[root@a4f36e700ad7 /]# hostname foobar
[root@a4f36e700ad7 /]# hostname
foobar
[root@a4f36e700ad7 /]# exit

おすすめ記事