mirror of
https://github.com/eosswedenorg/thalos
synced 2026-06-27 10:53:42 +02:00
cmd/tools/redis-acl.go: adding flag for password length.
This commit is contained in:
parent
72b4f0a327
commit
bf97f2e97a
2 changed files with 9 additions and 8 deletions
|
|
@ -47,6 +47,7 @@ func init() {
|
||||||
RedisACLCmd.Flags().String("prefix", "ship", "Redis key prefix")
|
RedisACLCmd.Flags().String("prefix", "ship", "Redis key prefix")
|
||||||
RedisACLCmd.Flags().Bool("cleartext", false, "If passwords should be hashed or left in cleartext.")
|
RedisACLCmd.Flags().Bool("cleartext", false, "If passwords should be hashed or left in cleartext.")
|
||||||
RedisACLCmd.Flags().String("file", "", "Where the config should be written to (default: standard out)")
|
RedisACLCmd.Flags().String("file", "", "Where the config should be written to (default: standard out)")
|
||||||
|
RedisACLCmd.Flags().Uint("pass-len", 32, "The length of generated passwords")
|
||||||
|
|
||||||
rootCmd.AddCommand(
|
rootCmd.AddCommand(
|
||||||
validateCmd,
|
validateCmd,
|
||||||
|
|
|
||||||
|
|
@ -31,13 +31,12 @@ type User struct {
|
||||||
Hash bool
|
Hash bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUser(name, password string) User {
|
func NewUser(name, password string, pass_len uint) User {
|
||||||
if len(password) < 1 {
|
if len(password) < 1 {
|
||||||
return User{
|
return User{
|
||||||
Name: name,
|
Name: name,
|
||||||
Password: randomString(32),
|
Password: randomString(pass_len),
|
||||||
Generated: true,
|
Generated: true,
|
||||||
Hash: false,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return User{Name: name, Password: password}
|
return User{Name: name, Password: password}
|
||||||
|
|
@ -62,10 +61,10 @@ func (u User) PrintIfGeneratedPW() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func randomString(length int) string {
|
func randomString(length uint) string {
|
||||||
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"
|
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"
|
||||||
out := ""
|
out := ""
|
||||||
for i := 0; i < length; i++ {
|
for i := 0; i < int(length); i++ {
|
||||||
idx := rnd.Intn(len(charset))
|
idx := rnd.Intn(len(charset))
|
||||||
out += string(charset[idx])
|
out += string(charset[idx])
|
||||||
}
|
}
|
||||||
|
|
@ -115,10 +114,11 @@ var RedisACLCmd = &cobra.Command{
|
||||||
flagClient, _ := cmd.Flags().GetString("client")
|
flagClient, _ := cmd.Flags().GetString("client")
|
||||||
flagClientPw, _ := cmd.Flags().GetString("client-pw")
|
flagClientPw, _ := cmd.Flags().GetString("client-pw")
|
||||||
flagPrefix, _ := cmd.Flags().GetString("prefix")
|
flagPrefix, _ := cmd.Flags().GetString("prefix")
|
||||||
|
flagPassLen, _ := cmd.Flags().GetUint("pass-len")
|
||||||
|
|
||||||
defaultUser := NewUser("default", flagDefUserPw)
|
defaultUser := NewUser("default", flagDefUserPw, flagPassLen)
|
||||||
serverUser := NewUser(flagServer, flagServerPw)
|
serverUser := NewUser(flagServer, flagServerPw, flagPassLen)
|
||||||
clientUser := NewUser(flagClient, flagClientPw)
|
clientUser := NewUser(flagClient, flagClientPw, flagPassLen)
|
||||||
|
|
||||||
atleastOneGeneratedPw := defaultUser.Generated || serverUser.Generated || clientUser.Generated
|
atleastOneGeneratedPw := defaultUser.Generated || serverUser.Generated || clientUser.Generated
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue