91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何配置freeradius從mysql數據庫讀取用戶信息

發布時間:2021-12-30 15:58:23 來源:億速云 閱讀:511 作者:柒染 欄目:云計算

本篇文章為大家展示了如何配置freeradius從mysql數據庫讀取用戶信息,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

配置freeradius從mysql數據庫讀取用戶信息  
1) 首先更改/etc/raddb/radiusd.conf,首先將$INCLUDE  ${confdir}/sql.conf字段這行原有的注釋去掉,然后編輯/etc/raddb/radiusd.conf 使其支持mysql認證;  
authorize {  
preprocess  
chap  
mschap  
suffix  
sql  
...  
}

accounting {  
...  
#radutmp (因為我要使用Simultaneous-Use:=1(同一用戶一次只能登陸一臺機器),用它在radiusd意外結束會有問題,所以禁用)  
sql  
...  
}

session {  
        #radutmp (同上)  
        sql  
}

2)需要更改sql.conf中的設置,主要是設置讀取的mysql服務器的相關信息,可更改如下一些字段:  
 
        driver = "rlm_sql_mysql"

server = "localhost"                                                 #數據庫服務器  
         login = "mysql_username"                                       #數據庫用戶  
         password = "mysql_password"                                 #數據庫密碼  
        radius_db = "radius"                                                #數據庫名稱  
 
3) 當然前提是你要現把mysql服務設置好,設置方法是:

先處理一下mysql的庫,freeradius默認查找libmysqlclient_r.so,可是mysql默認為libmysqlclient.so,內容完全一樣,做個鏈接即可:(至關重要,否則啟動freeradius的時候會提示找不到rlm_sql_mysql.so:Could not link driver rlm_sql_mysql: file not found)  
        # echo "/usr/lib/mysql" >> /etc/ld.so.conf  
        # ldconfig  
        # cd /usr/lib/mysql/  
        # ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so  
        先啟動你的mysqld:  
                service mysqld start  
        然后設置root帳戶密碼:  
                mysqladmin –uroot –p password 12345  
        創建radius數據庫  
                mysqladmin –uroot –p123456 create radius  
         
        建立mysql的數據庫raius的表,我們可以通過軟件已經給出的sql腳本導入數據庫:  
                mysql -uroot –p123456 radius < /usr/share/doc/freeradius-1.1.3/examples/mysql.sql  
        這樣,所有radius需要的數據庫和表都已經建立好了。  
        此時可以添加測是帳號來測試是否正常工作。具體方法就不在這說了。我們待會要使用freeradius源代碼自帶的dialup_admin來進行數據庫的管理工作,那是一個基于web的管理界面,使用  php編寫,要比直接用sql語句方便的多。  
        這里要注意的是,如何在數據庫里添加限制沒用戶同時登錄個數的限制,比如,我先用sql語句添加一個測試用戶,然后來限制他的登錄個數,語句是:  
mysql -uroot –p123456 radius  
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');  
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');  
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-Protocol','=','ppp');

insert into radgroupcheck (groupname, attribute, op, value) values ('user', 'Auth-Type', ':=', 'Local');  
insert into radgroupcheck (groupname, attribute, op, value) values ('user', 'Simultaneous-Use', ':=', '1');

然后加入用戶信息:  
insert into radcheck (username,attribute,op,value) values ('bbb','User-Password','==','bbb');

然后把用戶加到組里:  
insert into usergroup(username,groupname) values('bbb','user');  
        這樣就給我們的數據庫中添加了一個帳戶測試帳戶bbb,并讓bbb帳戶屬于user組。  
        然后我們可以通過設置user組的檢查屬性來設置此組帳戶的登錄數限制,以后只要用戶加入這個組,登錄數都不能超過1次:  
 
        好了,限制完成。我們現在可以使用bbb帳戶登錄,并測試是否是通過mysql數據庫驗證的。并且可以檢查是不是只能登錄一個。  
 
第四部分:使用dialup_admin來管理radius服務器  
 
        服務器搭建成功后如果需要web管理,freeradius自帶了一個web管理程序dialup_admin。  
        首先測試Apache與  PHP安裝的正確性。Apache的WEB目錄在 /var/www/html 下首先測試Apache,在瀏覽器輸入 Http://127.0.0.1 下看到Apache界面表示正常。  
        編輯一個  PHP測試文件,內容為  ,保存為   phpinfo.  php。在瀏覽器輸入Http://127.0.0.1/  phpinfo.  php 看到  php相關信息頁面,表示  php運作正常。  
        直接將freeradius源代碼中的dialup_admin/文件夾全部拷貝到Apache網頁目錄下/etc/local下。  
        修改dialup_admin/conf/下的admin.conf文件中的如下參數:  
                sql_type:mysql  
                sql_server:localhost                    //sql地址  
                sql_port:3306                         //默認端口  
                sql_username:root  
                sql_password:123456                   //密碼  
                sql_database:radius                     //數據庫名  
 
                general_base_dir: /var/www/html/dialup_admin //dialup_admin主目錄

general_radiusd_base_dir: /usr/sbin/radiusd  
                general_domain: company.com     //這個可改也可不改,沒什么影響,改了還看點而已  
                general_radius_server_auth_proto: chap   //將pap改成chap  
                general_encryption_method: clear        //將crypt改成clear  
        說明一下,general_encryption_method: clear是必須得改的,否則用web管理界面添加用戶后會出現密碼被加密后無法識別導致認證失敗,clear方式是以明文存儲密碼,freeradius默認是用明文存儲密碼,兩者要對應,所以這里要用clear方式。  
        修改dialup_admin/conf/下的naslist.conf文件如下  
                nas1_name: nas1.%{general_domain}  
                nas1_model: Computer                 //NAS服務器的類型  
                nas1_ip: 192.168.1.1                 //NAS服務器的IP地址  
                nas1_port_num: 15  
                nas1_community: public  
        其他的通通刪掉或用#號注釋掉,這樣修改的目的是方便在web管理界面中直觀的看到每個NAS服務器連接用戶的情況。  
        導入相關數據庫表  
                cd /var/www/html/dialup_admin/sql  
                mysql -uroot –p123456 radius < userinfo.sql  
                mysql -uroot –p123456 radius < totacct.sql  
                mysql -uroot –p123456 radius < mtotacct.sql  
                mysql -uroot –p123456 radius < badusers.sql  
        dialup_admin用的是  php3格式的文件,需要web服務器支持這種格式,  
        修改/etc/httpd/conf/httpd.conf文件,在此文件最后添加  
                AddType application/x-httpd-  php .  php .html .htm .  php3  
        并在默認的主頁目錄下建立一個指向/usr/local/dialup_admin/htdocs的符號連接htdocs  
        保存后重啟httpd服務  
                service httpd restart  
訪問:http://localhost/htdocs/index.html  
        能正常打開各頁面就ok了。默認是打開的sql調試模式。可以在admin.conf中找到sql_debug.把true改為false即可關閉。

第五部分:使用用戶認證來管理radius服務器

Apache服務器已經內置用戶驗證機制,大家只要適當的加以設置,便可以控制網站的某些部分要用戶驗證。大家只要跟著我一步步做下來就應該能輕松實現用戶驗證。

第1步:

我們在/var/www/html/dialup_admin/htdocs

然后我們編輯httpd.conf

添加

Alias /radiusadmin "/var/www/html/dialup_admin/htdocs"

<Directory "/var/www/html/dialup_admin/htdocs">

Options Indexes MultiViews

AllowOverride AuthConfig #表示進行身份驗證

Order allow,deny

Allow from all

</Directory>

#AllowOverride AuthConfig 表示進行身份驗證 這是關鍵的設置

第3步

在/var/www/html/dialup_admin/htdocs創建.htaccess文件

vi /var/www/html/dialup_admin/htdocs/.htaccess

AuthName "radius web"

AuthType Basic

AuthUserFile /var/www/html/dialup_admin/htdocs/.htpasswd

require valid-user

#AuthName 描述,隨便寫

#AuthUserFile /var/www/html/dialup_admin/htdocs/.htpasswd

#require valid-user 或者 require user admin 限制是所有合法用戶還是指定用戶

#密碼文件推薦使用.htpasswd,因為apache默認系統對“.ht”開頭的文件默認不允許外部讀取,安全系數會高一點哦。

第4步

就是創建apache的驗證用戶

htpasswd -c /var/www/html/dialup_admin/htdocs/.htpasswd radiusadmin

#第一次創建用戶要用到-c 參數 第2次添加用戶,就不用-c參數

如果你們想修改密碼,可以如下

htpasswd -m .htpasswd radiusadmin

第5步:

ok,重啟apache服務,然后訪問  http://10.0.0.64/radiusadmin就能看到一個用戶驗證的彈出窗口,只要填入第4步創建的用戶名和密碼就行

上述內容就是如何配置freeradius從mysql數據庫讀取用戶信息,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延川县| 小金县| 石楼县| 尼玛县| 玉田县| 伊吾县| 沁阳市| 武邑县| 南澳县| 望都县| 炎陵县| 彩票| 罗定市| 太仆寺旗| 城口县| 华阴市| 同心县| 门源| 陈巴尔虎旗| 连平县| 姚安县| 永善县| 裕民县| 盐亭县| 益阳市| 景德镇市| 南京市| 锡林郭勒盟| 鄱阳县| 七台河市| 河曲县| 霍城县| 巫溪县| 义乌市| 都安| 桐梓县| 博兴县| 清徐县| 鹤山市| 托克逊县| 义马市|