chmod +xを実行するための要件は何ですか? 「rw」だけでは足りない!

chmod +xを実行するための要件は何ですか? 「rw」だけでは足りない!

以下のスクリーンショットをご覧ください。

ここに画像の説明を入力してください。

ユーザー chj が実行されますがchmod +x ichsize.out失敗します。許可されていない操作

ichszie.outにはworld-rw権限が有効になっていますが、それだけでは十分ではないようです。

-rw-rw-rw-  1 nobody nogroup 27272 May 26 18:51 ichsize.out

ichsize.outの所有者はですnobody。このファイルは Samba サーバーで作成されたため、次の[projects]ディレクトリの場所にあります。

[projects]
        comment = VS2019 Linux-dev project output
        path = /home/chj2/projects
        browseable = yes
        read only = no
        guest ok = yes

        create mask = 0666    #(everybody: read+write)
        directory mask = 0777 #(everybody: list+modify+traverse)
        hide dot files = no

Sambaクライアントはゲストとしてこの共有にアクセスし、ichsize.outファイルの作成を要求します。

このシステムはRaspberry Pi:11(bullseye)のDebianバージョンに基づいています。 Ubuntu 20.04の動作は同じです。

だから私はRasPiのすべてのユーザーがchmod +xファイルを操作できるようにsmb.confを書く方法が気になります。

答え1

この共有内のファイルを所有しているユーザーが誰であるかを心配する必要がない場合は、force user構成設定を使用してSambaユーザーがchmod。共有(つまり、AliceとBobの両方が共有に接続されている場合、Aliceは自分がすべてのファイルを所有しており、Bobは自分がすべてのファイルを所有していることを知っています。)しかし、結果として誰でも実行できますchmod

たとえば、これはshareuserSambaサーバーの有効なユーザーアカウントであり、sharegroupこの共有にアクセスできるユーザーのセットを含み、アカウントが/home/_share存在し、所有者にshareuser少なくとも次の権限があるとします0700

[Share]
    comment = Everyone owns these files
    path = /home/_share
    browseable = yes
    read only = no
    guest ok = no
    force user = shareuser
    valid users = "@sharegroup"
    ; vfs objects = acl_xattr recycle catia

またはテストしていませんが、ゲストユーザーに次のことを許可します。

[Share]
    comment = Everyone owns these files
    path = /home/_share
    browseable = yes
    read only = no
    guest ok = yes
    force user = shareuser

ドメインに参加している環境では、Sambaに実際のWindows ACLと所有権を持つファイルを処理させることもできます。たとえば、Windows環境では、グループがファイルを所有し、アクセス権などを変更する権限を持つことができます。あなたのguest ok = yes状況に照らして、これは関連性があるかどうか疑わしいです。しかし、将来の潜在的な読者に言及します。

一方、本当に言いたいのなら」smb.conf私の記事はどのように書いていますか?RasPiの全員chmod +xファイルに対して操作を実行できます。smb.conf「[ハイライトのためのイタリック体]これで、構成ファイルがPi自体のユーザーに関連していないことに注意する必要があります。デフォルトのUNIX / LinuxコントロールはPiユーザーのためであるため、属していないchmodファイルでは実行できません。

答え2

これにより、RasPiのすべてのユーザーがファイルをchmod +xできるようになります。

あなたはできません。とにかく、通常のUnixy権限ビットは使用されませんが、@roaimaの返信また。

~からLinuxchmod()システムコールのマニュアルページ:

呼び出しプロセスの有効なUIDは、ファイルの所有者と一致する必要があり、またはプロセスに権限が必要です。

失敗した場合、「操作は許可されません」というメッセージに対応するエラーコード EPERM が提供されます。

Linuxデスクトップディストリビューションを使用している場合は、おそらくGNUツールセットがあります。牛に似た一種の栄養chmodコマンドラインツールのマニュアルページ必須権限への言及はないようですが、情報ページから

関連情報