Skip to content

Commit 9800e7e

Browse files
ssongliuwanghe-fit2cloud
authored andcommitted
fix: 1pctl 增加非 root 提示信息 (#2112)
Refs #2100
1 parent cbf4f8e commit 9800e7e

File tree

5 files changed

+45
-1
lines changed

5 files changed

+45
-1
lines changed

cmd/server/cmd/app.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package cmd
33
import (
44
"bytes"
55
"fmt"
6+
"io"
7+
68
"github.com/1Panel-dev/1Panel/backend/utils/files"
79
"github.com/1Panel-dev/1Panel/cmd/server/app"
810
"github.com/pkg/errors"
911
"github.com/spf13/cobra"
10-
"io"
1112
)
1213

1314
var (
@@ -31,6 +32,10 @@ var initCmd = &cobra.Command{
3132
Use: "init",
3233
Short: "初始化应用",
3334
RunE: func(cmd *cobra.Command, args []string) error {
35+
if !isRoot() {
36+
fmt.Println("请使用 sudo 1pctl app init 或者切换到 root 用户")
37+
return nil
38+
}
3439
if len(args) > 0 {
3540
appKey = args[0]
3641
if len(args) > 1 {

cmd/server/cmd/reset.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package cmd
22

33
import (
4+
"fmt"
5+
46
"github.com/spf13/cobra"
57
)
68

@@ -22,6 +24,10 @@ var resetMFACmd = &cobra.Command{
2224
Use: "mfa",
2325
Short: "取消 1Panel 两步验证",
2426
RunE: func(cmd *cobra.Command, args []string) error {
27+
if !isRoot() {
28+
fmt.Println("请使用 sudo 1pctl reset mfa 或者切换到 root 用户")
29+
return nil
30+
}
2531
db, err := loadDBConn()
2632
if err != nil {
2733
return err
@@ -34,6 +40,10 @@ var resetSSLCmd = &cobra.Command{
3440
Use: "https",
3541
Short: "取消 1Panel https 方式登录",
3642
RunE: func(cmd *cobra.Command, args []string) error {
43+
if !isRoot() {
44+
fmt.Println("请使用 sudo 1pctl reset https 或者切换到 root 用户")
45+
return nil
46+
}
3747
db, err := loadDBConn()
3848
if err != nil {
3949
return err
@@ -46,6 +56,10 @@ var resetEntranceCmd = &cobra.Command{
4656
Use: "entrance",
4757
Short: "取消 1Panel 安全入口",
4858
RunE: func(cmd *cobra.Command, args []string) error {
59+
if !isRoot() {
60+
fmt.Println("请使用 sudo 1pctl reset entrance 或者切换到 root 用户")
61+
return nil
62+
}
4963
db, err := loadDBConn()
5064
if err != nil {
5165
return err
@@ -58,6 +72,10 @@ var resetBindIpsCmd = &cobra.Command{
5872
Use: "ips",
5973
Short: "取消 1Panel 授权 IP 限制",
6074
RunE: func(cmd *cobra.Command, args []string) error {
75+
if !isRoot() {
76+
fmt.Println("请使用 sudo 1pctl reset ips 或者切换到 root 用户")
77+
return nil
78+
}
6179
db, err := loadDBConn()
6280
if err != nil {
6381
return err
@@ -70,6 +88,10 @@ var resetDomainCmd = &cobra.Command{
7088
Use: "domain",
7189
Short: "取消 1Panel 访问域名绑定",
7290
RunE: func(cmd *cobra.Command, args []string) error {
91+
if !isRoot() {
92+
fmt.Println("请使用 sudo 1pctl reset domain 或者切换到 root 用户")
93+
return nil
94+
}
7395
db, err := loadDBConn()
7496
if err != nil {
7597
return err

cmd/server/cmd/root.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cmd
22

33
import (
44
"fmt"
5+
"os/user"
56
"strings"
67
"time"
78

@@ -61,3 +62,11 @@ func getSettingByKey(db *gorm.DB, key string) string {
6162
func setSettingByKey(db *gorm.DB, key, value string) error {
6263
return db.Model(&setting{}).Where("key = ?", key).Updates(map[string]interface{}{"value": value}).Error
6364
}
65+
66+
func isRoot() bool {
67+
currentUser, err := user.Current()
68+
if err != nil {
69+
return false
70+
}
71+
return currentUser.Uid == "0"
72+
}

cmd/server/cmd/user-info.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ var userinfoCmd = &cobra.Command{
1616
Use: "user-info",
1717
Short: "获取用户信息",
1818
RunE: func(cmd *cobra.Command, args []string) error {
19+
if !isRoot() {
20+
fmt.Println("请使用 sudo 1pctl user-info 或者切换到 root 用户")
21+
return nil
22+
}
1923
db, err := loadDBConn()
2024
if err != nil {
2125
return fmt.Errorf("init my db conn failed, err: %v \n", err)

cmd/server/cmd/version.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ var versionCmd = &cobra.Command{
1818
Use: "version",
1919
Short: "获取系统版本信息",
2020
RunE: func(cmd *cobra.Command, args []string) error {
21+
if !isRoot() {
22+
fmt.Println("请使用 sudo 1pctl version 或者切换到 root 用户")
23+
return nil
24+
}
2125
db, err := loadDBConn()
2226
if err != nil {
2327
return err

0 commit comments

Comments
 (0)