[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9066":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":14,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":27,"discoverSource":28},9066,"cockpit-file-sharing","45Drives\u002Fcockpit-file-sharing","45Drives","A Cockpit plugin for managing Samba, NFS, iSCSI, and S3 storage services.","",null,"Vue",950,55,16,45,0,2,9.24,"GNU General Public License v3.0",false,"main",true,[],"2026-06-12 02:02:02","# cockpit-file-sharing\nA Cockpit plugin for managing Samba, NFS, iSCSI, and S3 storage services.\n\n![Example of creating a Samba share](docs\u002Fcreate-samba-share-example.gif)\n## Features\n### Samba\n- Manage global setings\n    - Server description, workgroup, log level\n    - Any other settings can be configured through the *Advanced Settings* dropdown\n    - One-click advanced configuration global MacOS share optimization\n    - Manage user Samba passwords\n- Manage shares\n    - Create, edit, and remove shares\n    - Manage allow-list of valid users and groups\n    - One-click advanced configuration for Windows ACLs, shadow copy, MacOS share optimization, and audit logging\n    - Create non-existing share path from UI\n    - Manage Linux-side share path permissions\n    - Ceph-specific options\n        - Quota\n        - Layout pool\n        - Cephfs remount for properly reporting quota to client\n    - Export and import of configuration (same format as `\u002Fetc\u002Fsamba\u002Fsmb.conf`)  \n\n### NFS\n- Create, edit, and remove shares\n- Manage individual client settings\n- Export and import of configuration (same format as `\u002Fetc\u002Fexports`)\n\n### iSCSI\n- Manage virtual devices\n    - Create, edit, and remove devices\n    - Support for single-server and clustered environments\n- Manage targets\n    - Create, edit, and remove targets\n    - Manage target portals, initiator groups, and CHAP configuration\n    - View active sessions\n- Import and export iSCSI configuration\n\n### S3\n- Detect and manage supported S3 backends\n    - MinIO\n    - RustFS\n    - Ceph RGW\n    - Garage\n- Bucket management\n    - Create, edit, and delete buckets\n    - View bucket usage\u002Fstatistics\n- Access management\n    - MinIO\u002FRustFS: users, policies, and groups\n    - RustFS: access keys\n    - Ceph RGW: user\u002Faccess management\n    - Garage: key management\n\n# Installation\n## Ubuntu 20.04, Ubuntu 22.04\n### From 45Drives Repo (Recommended)\n```bash\ncurl -sSL https:\u002F\u002Frepo.45drives.com\u002Fsetup | sudo bash\nsudo apt update\nsudo apt install cockpit-file-sharing\n```\n### Direct from .deb\nInstalling this way may work for other versions of Ubuntu and Debian, but it is unsupported. You won't get automatic updates this way.\n```bash\ncurl -LO https:\u002F\u002Fgithub.com\u002F45Drives\u002Fcockpit-file-sharing\u002Freleases\u002Fdownload\u002Fv4.5.5\u002Fcockpit-file-sharing_4.5.5-1jammy_all.deb\nsudo apt install .\u002Fcockpit-file-sharing_4.5.5-1jammy_all.deb\n```\n## Rocky 8, Rocky 9\n### From 45Drives Repo (Recommended)\n```bash\ncurl -sSL https:\u002F\u002Frepo.45drives.com\u002Fsetup | sudo bash\nsudo dnf install cockpit-file-sharing\n```\n### Direct from .rpm\nInstalling this way may work for other versions of Rocky\u002FCentos\u002FRHEL\u002FFedora\u002Fetc, but it is unsupported. You won't get automatic updates this way.\n```bash\n# dnf or yum\nsudo dnf install https:\u002F\u002Fgithub.com\u002F45Drives\u002Fcockpit-file-sharing\u002Freleases\u002Fdownload\u002Fv4.5.5\u002Fcockpit-file-sharing-4.5.5-1.el9.noarch.rpm\n```\n## Generic Installation\n1. Install Dependencies\n```bash\n# debian-like\ncockpit-bridge\ncoreutils\nattr\nfindutils\nhostname\niproute2\nlibc-bin\nsystemd\nnfs-kernel-server\nsamba-common-bin\n# RHEL-like\ncockpit-bridge\ncoreutils\nattr\nfindutils\nhostname\niproute\nglibc-common\nsystemd\nnfs-utils\nsamba-common-tools\n```\n2. Install Build Dependencies\n   - `sponge` command from `moreutils`\n   - `yarn` package manager\n   - `make`\n3. Clone git repo, build, and install\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002F45Drives\u002Fcockpit-file-sharing.git\ncd cockpit-file-sharing\nmake\nsudo make install\n```\n# Usage\n## Samba Management Tab\nThe Samba tab in cockpit-file-sharing is a front end UI for the [net conf](https:\u002F\u002Flinux.die.net\u002Fman\u002F8\u002Fnet) registry used by Samba. Any shares manually configured in `\u002Fetc\u002Fsamba\u002Fsmb.conf` won't show up in the UI, but they can be imported with the `Import` button at the bottom of the page. Your Samba configuration file must have `include = registry` in the `[global]` section, which can be automatically configured in one click in the UI.\n### Adding a Share\nSimply click the `+` in the top right of the shares list, fill out the required fields, and click `Confirm`.\n#### Fields\u002FSettings\n* Share Name - Unique name for the share\n* Share Description - Optional description for the share\n* Path - The path to share out from the server\n* ~~Valid Users\u002FGroups~~ removed in v4 - valid users property still available through advanced settings.\n    * ~~Allow-lists for users and groups~~\n    * ~~By default, any user or group is allowed~~\n* Guest Ok - Allow accessing share with no password, privileges mapped to `guest account` (default=`nobody`)\n* Read Only - Disallow creation\u002Fmodification of files\u002Fdirectories\n* Browsable - Controls whether this share is seen in the list of available shares in a net view and in the browse list\n* Inherit Permissions - New directories inherit the mode of the parent directory, including bits such as setgid. New files inherit their read\u002Fwrite bits from the parent directory.\n* Windows ACLs - Administer share permissions from Windows, sets the following advanced settings\n    ```ini\n    map acl inherit = yes\n    acl_xattr:ignore system acls = yes\n    vfs objects = acl_xattr\n    ```\n* Shadow Copy - Expose per-file snapshots to users, sets the following advanced settings\n    * ZFS:\n        ```ini\n        vfs objects = shadow_copy2\n        shadow:snapdir = .zfs\u002Fsnapshot\n        shadow:sort = desc\n        shadow:format = %Y-%m-%d-%H%M%S\n        ```\n    * Ceph:\n        ```ini\n        vfs objects = ceph_snapshots\n        ```\n* MacOS Share - Optimize share for MacOS, sets the following advanced settings\n    ```ini\n    vfs objects = catia fruit streams_xattr\n    fruit:encoding = native\n    fruit:metadata = stream\n    fruit:zero_file_id = yes\n    fruit:nfs_aces = no\n    ```\n* Audit Logs - Turn on audit logging, sets the following advanced settings\n    ```ini\n    vfs objects = full_audit\n    full_audit:priority = notice\n    full_audit:facility = local5\n    full_audit:success = connect disconnect mkdir rmdir read write rename\n    full_audit:failure = connect\n    full_audit:prefix = %u|%I|%S\n    ```\n* Advanced Settings - Dropdown for configuring any other share parameters. See [smb.conf(5)](https:\u002F\u002Fwww.samba.org\u002Fsamba\u002Fdocs\u002Fcurrent\u002Fman-html\u002Fsmb.conf.5.html) for a full list of parameters.\n### Editing a Share\nClick the pencil icon at the right side of the share list entry to edit the share. Settings are the same as creating a share, except you cannot change the share name or path.\n### Removing a Share\nClick the trash can icon at the right side of the share list entry, then click `Yes` in the confirmation prompt to delete the share. This only removes the share definition from Samba, it does **not** remove any files.\n### Samba User Password Management\nSamba passwords for user accounts can be managed by clicking the `Manage Samba Passwords` button at the bottom of the Global Configuration section.\nThis opens a dialog where you can view all users and set\u002Fchange\u002Fremove their Samba passwords. Note that the user must already exist on the system, and this only sets the Samba password, not the Linux account password.\n### Import Shares from `\u002Fetc\u002Fsamba\u002Fsmb.conf`\nTo allow cockpit-file-sharing to manage existing shares defined in `\u002Fetc\u002Fsamba\u002Fsmb.conf`, click the `Import configuration from \u002Fetc\u002Fsamba\u002Fsmb.conf` button at the bottom of the page.\nIt will confirm before overwriting your current share settings, and prompt to replace the content of `\u002Fetc\u002Fsamba\u002Fsmb.conf` with only `include = registry` in the `[global]` section,\nbacking up the original content to `\u002Fetc\u002Fsamba\u002Fsmb.conf.bak.~1~`.\n\n## NFS Management Tab\nThe NFS tab in cockpit-file-sharing is a graphical way of editing the contents of `\u002Fetc\u002Fexports.d\u002Fcockpit-file-sharing.exports`, which has the same syntax as `\u002Fetc\u002Fexports`.\n### Adding a Share\nMuch like the Samba tab, simply click the `+` in the top right of the shares list to start adding an NFS export. The only settings are the path to the directory you want to share, and a list of clients consiting of a host and a comma-separated list of export options for that host. See [exports(5)](https:\u002F\u002Flinux.die.net\u002Fman\u002F5\u002Fexports) for options and machine name formats for the host field.\n### Editing a Share\nClick the pencil icon at the right side of the share list entry to edit the share. Settings are the same as creating a share.\n### Removing a Share\nClick the trash can icon at the right side of the share list entry, then click `Yes` in the confirmation prompt to delete the share. This only removes the share definition from Samba, it does **not** remove any files.\n### Import Shares (Exports) from `\u002Fetc\u002Fexports`\nTo allow cockpit-file-sharing to manage existing shares defined in `\u002Fetc\u002Fexports`, do the following (as root):\n1. Create a backup copy of exports: `cp \u002Fetc\u002Fexports \u002Fetc\u002Fexports.bak`\n2. Move exports to cockpit-file-sharing managed location: `mv \u002Fetc\u002Fexports \u002Fetc\u002Fexports.d\u002Fcockpit-file-sharing.exports`\n3. Create an empty default exports file: `touch \u002Fetc\u002Fexports`\n\n## iSCSI Management Tab\nThe iSCSI tab allows managing virtual devices and targets. For each target, you can manage portals, initiator groups, and CHAP settings, and view active sessions. In single-server mode, iSCSI configuration import\u002Fexport is available from the tab.\n\n## S3 Management Tab\nThe S3 tab detects supported backends available on the host (MinIO, RustFS, Ceph RGW, and Garage), then provides:\n1. Bucket Management for creating, editing, deleting, and viewing bucket usage\u002Fstatistics.\n2. Access Management for backend-specific identity and policy operations (for example users, policies, groups, access keys, and keys).\n","cockpit-file-sharing 是一个 Cockpit 插件，用于轻松管理 Samba、NFS、iSCSI 和 S3 存储服务。其核心功能包括对 Samba 全局设置和共享的管理，支持高级配置如 Windows ACLs 和 MacOS 优化；NFS 的创建、编辑与删除及客户端设置管理；iSCSI 设备和目标的管理以及会话查看；S3 后端检测及其桶管理和访问控制。该插件采用 Vue 构建，界面友好，适合需要通过 Web 界面来简化文件和服务共享配置的企业级环境或个人开发者使用。","2026-06-11 03:21:00","top_language"]