Skip to content

web server for a SMB user to change his/her password

Notifications You must be signed in to change notification settings

Gijutsu/gsmbpasswd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gsmbpasswd is a web server daemon that provides SMB users the possibility to 
change their passwords, and consists of two python programs: gsmbpasswd-http 
and gsmbpasswd-https.

gsmbpasswd-http forces a client to use SSL/TLS connections by redirection. 
gsmbpasswd-https employs two external components: pysmb, a Python 
implementation of the client-side SMB/CIFS protocol, and smbpasswd. 
The former is to authenticate a SMB user by checking username and password, 
while the latter is to change a user's password. The configuration file and 
the default configuration file are reloaded only by restarting the daemon.

Both of the programs along with smbpasswd are run as the unprivileged user, 
gsmbpasswd. At first, gsmbpasswd authenticates the user with help of the pysmb 
library. To provide defence in depth, a second layer of authentication is also 
used when communicating with the SMB server with the option -U for smbpasswd.

Installation note regarding fail2ban:
If the log-file /var/log/gsmbpasswd/gsmbpasswd.log is not present when starting 
fail2ban then no parsing of the log-file will be done and hence no blocking.
Therefore first start the gsmbpasswd service and afterwards the fail2ban service
to ensure proper functionality of fail2ban.

.
├── etc
│   ├── default
│   │   └── gsmbpasswd
│   ├── gsmbpasswd
│   │   ├── gsmbpasswd.conf
│   │   ├── gsmbpasswd-html.conf
│   │   ├── gsmbpasswd-messages.conf
│   │   └── public
│   │       ├── static
│   │       │   ├── favicon.ico
│   │       │   ├── index.css
│   │       │   ├── logo_en.png
│   │       │   └── logo_sv.png
│   │       └── templates
│   │           └── index.html
│   └── init.d
│       └── gsmbpasswd
├── gsmbpasswd_install
├── README
└── usr
    ├── sbin
    │   ├── gsmbpasswd-http.py
    │   └── gsmbpasswd-https.py
    └── share
        ├── doc
        │   └── gsmbpasswd
        │       ├── examples
        │       │   ├── apparmor.d
        │       │   │   ├── usr.sbin.gsmbpasswd-http.py
        │       │   │   └── usr.sbin.gsmbpasswd-https.py
        │       │   └── fail2ban
        │       │       ├── filter.d
        │       │       │   ├── gsmbpasswd-auth.conf
        │       │       │   └── gsmbpasswd-mal.conf
        │       │       └── jail.local
        │       └── permissions 
        ├── man
        │   ├── man5
        │   │   └── gsmbpasswd.conf.5
        │   ├── man7
        │   │   └── gsmbpasswd.7
        │   └── man8
        │       ├── gsmbpasswd-http.py.8
        │       └── gsmbpasswd-https.py.8
        └── pyshared
            └── web
                └── httpserver.py

About

web server for a SMB user to change his/her password

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 80.3%
  • Shell 13.6%
  • CSS 6.1%