【转】群晖NAS CLI管理指南
本文档包含命令行工具,使应用程序能够利用群晖DiskStation上的资源,同时包含群晖错误代码参考列表。
第一章:简介
本文档包含命令行工具,使您的应用程序能够利用群晖DiskStation上的资源,同时包含群晖错误代码参考列表。
第二章:群晖NAS管理命令
管理本地用户 — synouser
概要
synouser {--help}
synouser {--add} username passwd full_name expired email app_privilege
synouser {--del} username...
synouser {--rename} old_username new_username
synouser {--modify} username passwd full_name expired email
描述
| 参数 | 描述 |
|---|---|
--add |
每次创建一个本地用户 |
--del |
删除已存在的本地用户(系统账户admin和guest无法删除) |
--rename |
重命名本地用户账户(旧用户名不能是系统账户admin和guest) |
--modify |
修改本地用户账户信息 |
限制条件
username(用户名):
- 不区分大小写,长度限制为1到64个UTF-8字符
- 禁止使用的符号:
! " # $ % & ' ( ) * + , / : ; < = > ? @ [ ] \ ^ \{} | ~` - 首个字符不能是减号或空格,末尾字符不能是空格
passwd(密码):
- 区分大小写,最多127个可显示字符
- 可以设置为空密码
full_name(全名):
- 最多64个可显示UTF-8字符,可以为空
expired(过期):
0:账户永不过期1:账户已过期
email(邮箱):
- 用户邮箱地址,可以为空
app_privilege(应用权限):
- 使用十进制数字设置用户访问应用的权限,值为以下值的和:
- FTP:0x01
- File Station:0x02
- Audio Station:0x04
- Download Station:0x08
- 例如:同时具有FTP、Audio Station和Surveillance Station权限的值为21(21 = 0x01 + 0x04 + 0x10)
退出状态
synouser成功退出返回0,否则返回大于0的值。
示例
# 修改admin密码为"1"
DiskStation> /usr/syno/sbin/synouser --setpw admin 1
# 创建用户syno,密码为"1",全名为"Synology Inc.",可访问FTP、File Station、Audio Station、Download Station和Surveillance Station
DiskStation> /usr/syno/sbin/synouser --add syno 1 "Synology Inc." 0 synology@example.com 31
管理本地用户组 — synogroup
概要
synogroup {--help}
synogroup {--add} groupname username...
synogroup {--del} groupname...
synogroup {--rename} old_groupname new_groupname
synogroup {--member} groupname username...
描述
| 参数 | 描述 |
|---|---|
--add |
每次创建一个本地用户组,并将指定用户添加到新组 |
--del |
删除已存在的本地用户组(系统组无法删除) |
--rename |
重命名本地用户组(系统组无法重命名) |
--member |
修改用户组成员列表 |
限制条件
groupname(组名):
- 不区分大小写,长度限制为1到15个UTF-8字符
- 禁止使用的符号:
! " # $ % & ' ( ) * + , / : ; < = > ? @ [ ] \{} | ~` - 首个字符不能是减号或空格,末尾字符不能是空格
退出状态
synogroup成功退出返回0,否则返回大于0的值。
管理共享文件夹信息 — synoshare
概要
synoshare {--help}
synoshare {--add} sharename share_desc share_path user_list_na user_list_rw user_list_ro share_browsable adv_privilege
synoshare {--del} {TRUE | FALSE} sharename...
synoshare {--rename} old_sharename new_sharename
synoshare {--setuser} sharename {NA | RO | RW} {+ | - | =} user_list
描述
| 参数 | 描述 |
|---|---|
--add |
创建新共享文件夹 |
--del |
删除共享文件夹。TRUE:删除所有配置和数据;FALSE:仅删除配置,需手动删除目录 |
--rename |
重命名共享文件夹 |
--setuser |
修改共享文件夹的访问权限列表 |
访问权限类型:
NA:无访问权限RO:只读权限RW:读写权限
操作类型:
+:追加用户列表到原权限列表-:从原权限列表移除用户列表=:替换原权限列表为新用户列表
限制条件
sharename(共享名):
- 不区分大小写,长度限制为1到32个UTF-8字符
- 禁止使用的符号:
! " # $ % & ' ( ) * + , / : ; < = > ? @ [ ] \{} | ~` - 首个字符不能是减号或空格,末尾字符不能是空格
- 保留名称(不可用):global、homes、home、printers、.、..、surveillance、usbbackup、usbshare、esatashare
share_path(共享路径):
- 必须是有效的目录路径。如果路径不存在,synoshare会自动创建
share_browsable(在"网络邻居"中显示):
1:在"网络邻居"中显示共享文件夹0:隐藏共享文件夹(隐藏后,拥有权限的用户仍可直接访问)
adv_privilege(高级权限):
- 使用十进制数字,可选值或以下值的和:
- 禁用目录浏览:0x1
- 禁用修改现有文件:0x2
- 禁用文件下载:0x4
退出状态
synoshare成功退出返回0,否则返回大于0的值。
示例
# 创建名为'private'的共享,空访问列表
DiskStation> /usr/syno/sbin/synoshare --add private "Comment" /volume1/private "" "" "" 1 0
# 向共享'private'添加用户syno和组stuff,拥有读写权限
DiskStation> /usr/syno/sbin/synoshare --setuser private RW + syno,@stuff
管理网络设置 — synonet
概要
synonet {--help}
synonet {--dhcp} iface
synonet {--manual} iface ip mask [--dont restart service]
synonet {--set_gateway} gateway
synonet {--set_dns} dns
synonet {--set_mtu} iface MTU
synonet {--set_hostname} hostname [--dont restart service]
描述
| 参数 | 描述 |
|---|---|
--dhcp |
将网络适配器设置为DHCP |
--manual |
手动设置网络适配器的IP和子网掩码 |
--set_gateway |
手动设置默认网关 |
--set_dns |
手动设置DNS服务器 |
--set_mtu |
设置网络适配器的MTU值 |
--set_hostname |
修改服务器主机名 |
限制条件
iface(网络接口):
- 只能是
eth0或eth1(仅双网口NAS支持eth1)
hostname(主机名):
- 不区分大小写,长度限制为1到15个可显示字符
- 只能包含字母、数字、下划线和减号
- 首字符必须是字母
MTU:
- 可选值:1500、2000、3000、4000、5000、6000、7000、8000、9000
- 仅在千兆网络连接时生效
退出状态
synonet成功退出返回0,否则返回大于0的值。
示例
# 手动设置eth0:IP=192.168.14.64,子网掩码=255.255.0.0
DiskStation> /usr/syno/sbin/synonet --manual eth0 192.168.14.64 255.255.0.0
DiskStation> /usr/syno/sbin/synonet --set_gateway 192.168.15.254
DiskStation> /usr/syno/sbin/synonet --set_dns 192.168.252.254
# 设置新主机名为cn406e
DiskStation> /usr/syno/sbin/synonet --set_hostname cn406e
管理服务设置 — synoservice
概要
synoservice {--help}
synoservice {--list} [running]
synoservice {--enable | --disable} service...
synoservice {--start | --stop | --restart} service...
synoservice {--keyon | --keyoff} service...
synoservice {--detail} service...
描述
| 参数 | 描述 |
|---|---|
--list |
列出所有可用服务;指定running仅列出当前运行中的服务 |
--enable/disable |
启用/禁用指定服务,并立即启动/停止 |
--start/stop/restart |
启动/停止/重启服务(不修改设置) |
--keyon/keyoff |
启用/禁用服务设置(不中断服务) |
--detail |
显示指定服务的所有信息 |
支持的服务列表
web(Web Station)、photo(Photo Station)、netbkp(网络备份)、download(Download Station)、media(DLNA)、audio(Audio Station)、itunes(iTunes)、mysql(MySQL)、printer(打印机)、surveillance(Surveillance Station)、userhome(用户家目录)、ftp(FTP)、telnet、ssh、nfs、afp(Apple File Protocol)、samba(CIFS)、filestation(File Station)、https(HTTPS)
退出状态
synoservice成功退出返回0,否则返回大于0的值。
示例
# 启用SSH服务
DiskStation> /usr/syno/sbin/synoservice --enable ssh
# 在ds_configure.sh中启用SSH(使用--keyon而非--enable,因为此时服务尚未启动)
/usr/syno/sbin/synoservice --keyon ssh
##管理工作组或ADS域设置 — synowin
概要
synowin {--help}
synowin {--joinWorkgroup} workgroup
synowin {--joinDomain} {short_domain_name | full_domain_name} username password [-d dns_ip] [-i kdc_ip] [-n netbios_name] [-f fqdn_name]
描述
| 参数 | 描述 |
|---|---|
--joinWorkgroup |
加入工作组 |
--joinDomain |
加入ADS域(需要域管理员权限的账户) |
限制条件
workgroup(工作组名):
- 长度1到15个字符
- 禁止使用:
[ ] ; : " < > * + = \ / | ? , - 注意:如果工作组名包含
&字符,Mac OS 10.4.4及更早版本的用户将无法通过samba连接
domain_name(域名):
- 含句点的域名(如
synology.com)视为完整域名 - 不含句点的域名(如
synology)视为短域名
kdc_ip(域控制器IP):
- 可指定多个DC IP,用逗号分隔
- 在最后一个IP后加
*可实现故障转移
退出状态
synowin成功退出返回0,否则返回大于0的值。
第三章:群晖错误代码
错误代码表
| 符号 | 值 | 描述 |
|---|---|---|
| ERR_SUCCESS | 0x0000 | 操作成功 |
| ERR_NOT_ENOUGH_MEMORY | 0x0100 | 内存分配不足 |
| ERR_OUT_OF_MEMORY | 0x0200 | 内存耗尽 |
| ERR_ACCESS_DENIED | 0x0300 | 访问被拒绝 |
| ERR_LOCK_FAILED | 0x0400 | 文件锁定失败 |
| ERR_UNLOCK_FAILED | 0x0500 | 文件解锁失败 |
| ERR_PATH_NOT_FOUND | 0x0600 | 路径未找到 |
| ERR_FILE_NOT_FOUND | 0x0700 | 文件未找到 |
| ERR_FILE_EXISTS | 0x0800 | 文件已存在 |
| ERR_OPEN_FAILED | 0x0900 | 打开文件失败 |
| ERR_READ_FAILED | 0x0A00 | 读取数据失败 |
| ERR_WRITE_FAILED | 0x0B00 | 写入数据失败 |
| ERR_CREATE_FAILED | 0x0C00 | 创建文件或目录失败 |
| ERR_BAD_PARAMETERS | 0x0D00 | 参数无效 |
| ERR_INVALID_SERVERNAME | 0x0E00 | 服务器名称无效 |
| ERR_INVALID_DOMAINNAME | 0x0F00 | 域名无效 |
| ERR_INVALID_NETNAME | 0x1000 | IP地址格式无效 |
| ERR_SERVER_UNREACHABLE | 0x1100 | 无法找到Windows域控制器 |
| ERR_INVALID_SHARENAME | 0x1200 | 共享名称无效 |
| ERR_SHARE_EXISTS | 0x1300 | 共享已存在 |
| ERR_NO_SUCH_SHARE | 0x1400 | 共享不存在 |
| ERR_TOO_MANY_SHARES | 0x1500 | 共享数量超过限制 |
| ERR_INVALID_GROUPNAME | 0x1600 | 组名无效 |
| ERR_GROUP_EXISTS | 0x1700 | 组已存在 |
| ERR_NO_SUCH_GROUP | 0x1800 | 组不存在 |
| ERR_TOO_MANY_GROUPS | 0x1900 | 组数量超过限制 |
| ERR_INVALID_USERNAME | 0x1A00 | 用户名无效 |
| ERR_INVALID_PASSWORDNAME | 0x1B00 | 密码格式无效 |
| ERR_USER_EXISTS | 0x1C00 | 用户已存在 |
| ERR_NO_SUCH_USER | 0x1D00 | 用户不存在 |
| ERR_WRONG_PASSWORD | 0x1E00 | 密码错误 |
| ERR_TOO_MANY_USERS | 0x1F00 | 用户数量超过限制 |
| ERR_KEY_NOT_FOUND | 0x2000 | 未找到指定关键字 |
| ERR_KEY_EXISTS | 0x2100 | 关键字已存在 |
| ERR_SECTION_NOT_FOUND | 0x2200 | 未找到节 |
| ERR_SECTION_EXISTS | 0x2300 | 节已存在 |
| ERR_NOT_ENOUGH_QUOTA | 0x2400 | 用户配额空间不足 |
| ERR_NOT_ENOUGH_VOLUME_SPACE | 0x2500 | 卷可用空间不足 |
| ERR_SEEK_FAILED | 0x2600 | 定位操作失败 |
| ERR_STAT_FAILED | 0x2700 | 统计操作失败 |
| ERR_RENAME_FAILED | 0x2800 | 重命名失败 |
| ERR_NOT_ENOUGH_SPACE | 0x2900 | 文件系统可用空间不足 |
| ERR_OP_FAILURE | 0x2A00 | 执行指定操作失败 |
| ERR_DEV_UNCONFIG | 0x2B00 | 设备未就绪 |
| ERR_DEV_UNMOUNTED | 0x2C00 | 设备未挂载 |
| ERR_OP_UNREGISTERED | 0x2D00 | 操作不被允许 |
| ERR_TIMER_EXPIRED | 0x2E00 | 计时器已过期 |
| ERR_USER_BATCH_CONFLICT | 0x2F00 | 发现重复名称 |
| ERR_READ_GEO | 0x3000 | 从指定设备读取几何信息失败 |
| ERR_USAGE | 0x3100 | 参数使用不当 |
| ERR_UPDATE_OFFSET | 0x3200 | 校验补丁文件校验和时发现非法偏移 |
| ERR_CHECKSUM | 0x3300 | 补丁文件校验和非法 |
| ERR_OPEN_RAWDEVICE | 0x3400 | 打开原始设备失败 |
| ERR_OPEN_OPTFILE | 0x3500 | 打开安装配置文件失败 |
| ERR_READ_RAWDEVICE | 0x3600 | 从原始设备读取数据失败 |
| ERR_WRITE_RAWDEVICE | 0x3700 | 向原始设备写入数据失败 |
| ERR_BADPATCH | 0x3800 | 非法补丁文件 |
| ERR_REMOVE_FAILED | 0x3900 | 删除文件失败 |
| ERR_MOVE_FAILED | 0x3A00 | 移动文件失败 |
| ERR_COPY_FAILED | 0x3B00 | 复制文件失败 |
| ERR_MKDIR_FAILED | 0x3C00 | 创建目录失败 |
| ERR_MMAP_FAILED | 0x3D00 | 文件映射到内存失败 |
| ERR_FORMAT_ERROR | 0x4000 | 创建文件系统失败 |
| ERR_NO_BACKUP_SET | 0x5000 | 备份集不存在 |
| ERR_NO_DEST_ID | 0x5100 | 备份目标ID不存在 |
| ERR_BACKUP_INFO_FAIL | 0x5200 | 获取共享内存中的备份信息失败 |
| ERR_BAD_DEST_PATH | 0x5300 | 本地备份目标格式无效 |
| ERR_RM_SHM_FAIL | 0x5400 | 删除共享内存ID失败 |
| ERR_EXPORT_APPLICATION | 0x5500 | 导出应用程序失败 |
| ERR_IMPORT_APPLICATION | 0x5600 | 导入应用程序失败 |
| ERR_NO_VOLUME_ID | 0x6000 | 找不到卷ID |
| ERR_NO_DISK_ID | 0x6100 | 找不到磁盘ID |
| ERR_NOT_ENOUGH_SD | 0x6200 | 硬盘数量不足 |
| ERR_SD_SIZE_NOT_ALIGN | 0x6300 | 所选硬盘容量不同 |
| ERR_DEVICE_BUSY | 0x6400 | 卷被占用无法销毁 |
| ERR_INVALID_SD | 0x6500 | SD卡无效 |
| ERR_FORMAT_FAIL | 0x6600 | 重新格式化磁盘失败 |
| ERR_CANNOT_REBUILD_DISK | 0x6700 | 重建磁盘失败 |
| ERR_BROKEN_RAID_CONF | 0x6800 | RAID信息不正确 |
| ERR_DISK_TOO_SMALL | 0x6900 | 磁盘容量太小 |
| ERR_CANNOT_GET_MNTINFO | 0x6A00 | 获取挂载信息失败 |
| ERR_BROKEN_DISK_INFO | 0x6B00 | 磁盘信息不正确 |
| ERR_DISK_IO_FAILED | 0x6C00 | 磁盘I/O失败 |
| ERR_BAD_DISK_SECTOR | 0x6D00 | 发现坏扇区 |
| ERR_UDPD_INVALID_HANDLE | 0x7100 | 指定的句柄无效 |
| ERR_UDPD_RUNNING_HANDLE | 0x7200 | 指定的句柄正忙 |
| ERR_UDPD_INVALID_EVENT | 0x7300 | 指定的事件无效 |
| ERR_UDPD_INVALID_PARAMETER | 0x7400 | 指定参数非法 |
| ERR_UDPD_EXIT_ABNORMAL | 0x7500 | 守护进程异常退出 |
| ERR_UDPD_NOT_ENOUGH_SPACE | 0x7600 | 指定空间不足 |
| ERR_UDPD_TIMEOUT | 0x7700 | 接收数据包前超时 |
| ERR_UDPD_INIT_FAIL | 0x7800 | 初始化指定句柄失败 |
| ERR_UDPD_SEND_FAIL | 0x7900 | 发送指定数据失败 |
| ERR_UDPD_RECV_FAIL | 0x7A00 | 接收指定数据失败 |
| ERR_MANUTIL_PERM | 0x7B00 | 指定的烧录功能无效 |
| ERR_UNKNOWN | 0x8000 | 函数无法确定的错误 |
| ERR_SYS_UNKNOWN | 0x8100 | 系统遇到错误,但函数无法说明具体错误 |
| ERR_VOLUME_SIZE_TOO_LARGE | 0x8200 | 指定卷大小超出限制 |
| ERR_VOLUME_NOT_FOUND | 0x8300 | 找不到卷 |
| ERR_VOLUME_READ_ONLY | 0x8400 | 卷为只读 |
| ERR_YP_BIND | 0x9000 | 加入NIS域时ypbind出错 |
| ERR_QUOTA_NOT_FOUND | 0x9100 | 用户未指定卷配额 |
| ERR_QUOTA_PARAM_INVALID | 0x9200 | 配额文件损坏或命令/配额类型无效 |
| ERR_QUOTA_MOUNTING | 0x9300 | 重新挂载文件系统以启用用户/组配额失败 |
| ERR_QUOTA_QUOTACHECK | 0x9400 | 执行quotacheck失败 |
| ERR_QUOTA_QUOTAON | 0x9500 | 执行quotaon失败 |
| ERR_QUOTA_QUOTAOFF | 0x9501 | 执行quotaoff失败 |
| ERR_FORK_FAIL | 0x9600 | fork失败 |
| ERR_RAID_ENUM_FAIL | 0x9700 | 枚举系统RAID设备失败 |
| ERR_ENUM_FAIL | 0x9800 | 枚举失败 |
| ERR_INVALID_PATHNAME | 0x9900 | 无效的卷路径 |
| ERR_SERVICE_EXISTS | 0xA000 | 服务已存在 |
| ERR_SERVICE_NOT_EXISTS | 0xA100 | 服务不存在 |
| ERR_NOT_DIRECTORY | 0xA200 | 指定的路径不是目录 |
| ERR_DIRECTORY_NOT_EXISTS | 0xA300 | 目录不存在 |
| ERR_SERVICE_NOT_SET | 0xA400 | 服务未设置 |
| ERR_IS_DIRECTORY | 0xA500 | 指定的路径是一个目录 |
| ERR_PATH_CONFLICT | 0xA600 | 源文件和目标文件相同 |
| ERR_FAT_FILESIZE_TOO_LARGE | 0xA700 | FAT文件系统中文件大小超过4GB |
| ERR_FAT_FILENAME_ILLEGAL | 0xA800 | FAT文件系统中包含非法字符 |
| ERR_USER_CANCEL | 0xA900 | 用户取消操作 |
| ERR_INTERRUPTED | 0xAA00 | 被信号中断 |
| ERR_ENCKEY_VERIFY | 0xAB00 | 共享加密:加密密钥不正确 |
| ERR_ENCKEY_LOST | 0xAC00 | 共享加密:本地加密密钥副本丢失 |
| ERR_BDB_FILE_DEPRECATED | 0xB000 | BDB文件已弃用 |
| ERR_BDB_FILE_BAD_FORMAT | 0xB100 | BDB文件格式不正确 |
| ERR_BDB_GET_FAILED | 0xB200 | BDB获取失败 |
| ERR_BDB_SET_FAILED | 0xB300 | BDB设置失败 |
| ERR_BDB_DELETE_FAILED | 0xB400 | BDB删除失败 |
| ERR_BDB_CURSOR_FINISH | 0xB500 | BDB CursorGet已结束 |
| ERR_NO_SUCH_FTYPE | 0xB600 | 不存在的fType值 |
| ERR_RESERVED_GROUP | 0xB700 | gid小于GID_MIN |
| ERR_RESERVED_USER | 0xB800 | uid小于UID_MIN |
| ERR_LOOKUP_DOMAIN_GROUP | 0xB900 | 构建域组数据库时wbinfo -g超时 |
| ERR_LOOKUP_DOMAIN_USER | 0xBA00 | 构建域用户数据库时wbinfo -u超时 |
| ERR_INTERFACE_EXISTS | 0xBB00 | 指定接口已存在 |
| ERR_NO_SUCH_INTERFACE | 0xBC00 | 指定接口不存在 |
| ERR_TOO_MANY_INTERFACE | 0xBD00 | 接口数量超过限制 |
| ERR_INVALID_PATH | 0xBE00 | 无效路径 |
| ERR_SIZE_TOO_SMALL | 0xBF00 | 磁盘容量太小 |
| ERR_NAME_EXISTS | 0xC000 | 名称已存在 |
| ERR_EXCEED_ISCSI_SIZE_IN_VOLUME | 0xC100 | iSCSI文件保留大小超出限制 |
| ERR_FS_NOT_FOUND | 0xC200 | 找不到文件系统 |
| ERR_NAME_TOO_LONG | 0xC300 | 文件名太长 |
版权声明
© 2015-2021 群晖科技股份有限公司保留所有权利。
本文档版权归群晖科技股份有限公司所有,未经书面许可,禁止以任何形式复制、存储或传播。