GNU/Linux >> Linux の 問題 >  >> Linux

semanage コマンドがファイル コンテキストを変更しない

semange と chcon の違いは、chcon は「一時的」であり、システムがファイル/ディレクトリに存在するコンテキストのラベルを変更すると失われます。semanage を使用すると、selinux コンテキストが永続的になります。

semanage を機能させるには、ファイルまたはディレクトリへのフル パスを指定する必要があります。これが semanage fcontext -a -t public_content_rw_t upload/ の理由です。 動作しませんが semanage fcontext -a -t public_content_rw_t "/var/ftp/upload(/.*)? します; restorecon はフル パスを必要としません。


これはデフォルトのコンテキストです

[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/

コンテキストを変更するためにこのコマンドを試しました

[[email protected] ftp]# semanage fcontext -a -t public_content_rw_t upload/
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/
[[email protected] ftp]# restorecon -R -v upload
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/

動作していませんが、このコマンドはコンテキストを /etc/selinux/targeted/contexts/files/file_contexts.local に書き込みます ファイル

ここを参照

# This file is auto-generated by libsemanage
# Do not edit directly.

upload/    system_u:object_r:public_content_rw_t:s0

今、私はこのコマンドを試しました (Working Command )

[[email protected] ftp]# semanage fcontext -a -t public_content_rw_t "/var/ftp/upload(/.*)?"
[[email protected] ftp]# restorecon -R -v upload
restorecon reset /var/ftp/upload context unconfined_u:object_r:public_content_t:s0->unconfined_u:object_r:public_content_rw_t:s0
Now context is changed.
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 upload/

しかし、なぜそれが機能しているのか本当にわかりません。コマンドの違いを見てください。

man ftpd_selinux の man ページで答えを得ました

semanage fcontext -a -t public_content_rw_t "/var/ftpd/incoming(/.*)?"

Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. mkfs.hfsplus:コマンドが見つかりません

  3. mkfs:コマンドが見つかりません

  1. ファイル:コマンドが見つかりません

  2. tune2fs:コマンドが見つかりません

  3. fsck:コマンドが見つかりません

  1. tail:コマンドが見つかりません

  2. touch:コマンドが見つかりません

  3. find -exec mv {} ./target/ + が機能しないのはなぜですか?