pam_mysql認證ftp虛擬用戶賬號,且擁有不同的權限( Blog 16)

復習mariadb

程序包:vsftpd, mariadb-server, mariadb-devel, pam-devel
# yum -y install vsftpd mariadb-server mariadb-devel pam-devel
pam模塊路徑:/usr/lib64/security/
pam是認證服務:調用pam即可認證,具體是什么認證方式由pam配置文件決定;
pam認證方式:文件、mysql、ldap

在CentOS 7中要使用pam_mysql要手動編譯,CentOS 6中EPEL已經提供;

編譯pam_mysql步驟:
一、開發環境
# yum -y groupinstall “Development Tools” “Server Platform Development”
(安裝過程中:

vim 特性回顧:
set ai 自動換行
set ic ignore case
set hls high light search
set is 跟蹤查找
set nu 行號顯示
set tabstop=# TAB幾個空格
set sm 括號匹配
syntax on 語法高亮
)
二、編譯
# tar xf pam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1/
# ./configure –with-mysql=/usr –with-pam=/usr –with-pam-mods-dir=/usr/lib64/security
–with-mysql 針對mysql編譯;
–with-pam-mods-dir 編譯生成的pam模塊存放路徑;

# make -j 4 && make install

查看:# ls /usr/lib64/security/
pam_mysql.so

配置mysql:
~]# vim /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
log_bin=mysql-bin

~]# systemctl start mariadb.service
~]# ss -tnl

~]# mysql_secure_installation

~]# mysql -uroot -hlocalhost -pmagedu
> GRANT ALL ON vsftpd.* TO ‘vsftpd’@’127.0.0.1’ IDENTIFIED BY ‘vsftpd’;
~]# mysql -uvsftpd -h127.0.0.1 -pvsftpd
> CREATE TABLE users(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(60) NOT NULL, password CHAR(48) NOT NULL, UNIQUE KEY(name));
> INSERT INTO users(name,password) VALUES (‘tom’,PASSWORD(‘magedu’)),(‘jerry’,PASSWORD(‘jerry’));

配置vsftpd:
pam提供給vsftpd的配置文件:/etc/pam.d/vsftpd
vsftpd的配置文件:/etc/vsftpd.conf
# vim /etc/pam.d/vsftpd.vusers
auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.vusers <– 認證配置文件;
guest_enable=YES <– 啟用虛擬賬號
guest_username=vuser <– 將虛擬賬號映射至vuser用戶

# mkdir -v /ftproot
# useradd -d /ftproot/vuser vuser
# systemctl restart vsftpd.service
# ss -tnl ( :21 )

在非本機測試連接ftp
~]# lftp -u tom 172.16.0.67
Password:
lftp tom@172.16.0.67:~> ls
ls: Login failed: 530 Login incorrect.

# chmod -w /ftproot/vuser/
# ls -ld /ftproot/vuser/
dr-x——. 1 vuser vuser 80 Dec 7 13:37 /ftproot/vuser/
# chmod +rx /ftproot/vuser/

在遠程登陸ftp
~]# install -dv /ftproot/vuser/pub
~]# install -dv -o vuser -g vuser /ftproot/vuser/upload
~]# lftp -u jerry 172.16.0.67
Password:
lftp jerry@172.16.0.67:~> ls
drwxr-xr-x 1 0 0 0 Dec 07 05:40 pub
drwxr-xr-x 1 1001 1001 18 Dec 08 00:47 upload

注意:upload目錄有vuser權限,但不能上傳;

給予共享權限:
# vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_config/
# mkdir /etc/vsftpd/vusers_config/
# vim /etc/vsftpd/vusers_config/tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
# systemctl restart vsftpd.service

anon_umask必須設置其它用戶可讀;
否則創建的目錄下的所有文件不可見;

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90441

(2)
逆神陽逆神陽
上一篇 2017-12-20 02:38
下一篇 2017-12-20 02:48

相關推薦

  • linux磁盤管理之LVM

                        LVM  LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁…

    Linux干貨 2016-09-09
  • 如何配置本地yum源

    在日常學習中配置本地yum源至關重要,下面簡單介紹下centos7如何配置本地yum源: 1、開機啟動前檢查是否將光盤鏡像加載,然后開機; 2、cd /run/media/root/CentOS 7 x86_64下找到Packages和repodata這兩個包非常重要,其中Packages是rpm包目錄,repodata是元數據 3、cd /etc…

    Linux干貨 2017-04-23
  • 有關腳本的一些使用及其注意事項

    1,shell 腳本 格式要求:首行shebang機制                  #!/bin/bash       &n…

    2017-08-05
  • 第三周作業

    查看鏈接:http://note.youdao.com/noteshare?id=9b1aa0906b0918cc5cb557aa348e82da

    Linux干貨 2016-09-19
  • 正則表達式基礎

    正則表達式正則表達式? ? 元字符:? ? ? ? . ? ? ? 點表示任意單個字符 最少一次? ? ? ? \w ? ? ?匹配字母、數字、下劃線、或漢字。? ? ? ? \s ? ? ?匹配任意空白字符? ? ? ? \d ? ? ?匹配數字? ? ? ? \b ? ? ?匹配字符的開始或結束? ? ? ? ^ ? ? ? 匹配首字符? ? ? ? $…

    Linux干貨 2017-11-14
  • 常用的shell命令

    硬件: 1.cpu相關 lscpu:查看cpu的統計信息 cat /proc/cpuinfo :查看cpu詳細信息,如每個cpu的型號 2.內存相關 free -m:概要查看內存情況,這里的單位是MB cat  /etc/meminfo   :查看內存詳細信息 3.磁盤相關: l…

    Linux干貨 2016-08-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-01-07 18:08

    拓撲和實驗目的能清晰的給出來,會更好~

欧美性久久久久