sudo:授權之后,能夠讓某用戶以另外一個用戶身份運行命令;
配置文件:/etc/sudoers;其編輯命令visudo
sudo操作日志記錄至/var/log/secure中
特別注意:禁止授權修改root密碼;! passwd root,passwd [a-Z]*
配置項:
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ?NOPASSWD: ALL ? ? :無需密碼
某用戶|組 ? ? 通過哪些主機=(以哪個用戶的身份) ? ? 運行哪些命令
定義別名:格式
Alias_Type NAME = ?item1,item2,…
NAME:必須使用全大寫字母;
Alias_Type有如下幾種:
User_Alias:用戶別名
Host_Alias:主機別名
Runas_Alias:用戶身份別名
Cmnd_Alias:命令別名
常用選項:
-V:顯示版本
-h:顯示幫助信息
-l:顯示其執行sudo所擁有的權限
-b:將執行的命令放在后臺執行
-u username:切換至指定用戶,默認為root
-k:清除此前記錄的用戶密碼
ftp用戶的類型:
匿名用戶:anonymous或ftp;其登錄目錄為其ftp的家目錄/var/ftp;
本地用戶:賬號名稱、密碼等信息保存在passwd、shadow文件中;其登錄目錄為該系統用戶的家目錄下;
虛擬用戶:使用獨立的賬號、密碼數據文件;其登錄目錄為映射用戶的家目錄;
vsftpd主配置文件/etc/vsftpd/vsftpd.conf
用戶認證配置文件:/etc/pam.d/vsftpd
匿名用戶的相關配置:
是否開啟:anonymous_enable=YES
上傳權限:anon_upload_enable=YES
創建目錄權限:anon_mkdir_write_enable=YES
其他權限:anon_mkdir_write_enable=YES
本地用戶的相關配置
是否開啟:local_enable=YES
是否可寫:write_enable=YES
上傳文件的默認權限:local_umask=022
禁錮所有本地用戶在家目錄中:chroot_local_user=YES
禁錮指定的本地用戶在家目錄中:chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list
日志:xferlog_enable=YES、xferlog_std_format=YES、xferlog_file=/var/log/xferlog
改變上傳文件的屬主:chown_uploads=YES、chown_username=whoever
是否啟用控制用戶登錄的列表文件:userlist_enable=YES、userlist_deny=YES|NO,其默認文件為/etc/vsftpd/user_list
連接限制:
max_clients:最大并發連接數
max_per_ip:每個IP可同時發起的并發連接數
傳輸速率:
anon_max_rate:所有匿名用戶的最大傳輸速率,單位是字節/秒;
local_max_rate:所有本地用戶的最大傳輸速率,單位是字節/秒;
虛擬用戶:所有的虛擬用戶會被統一映射為一個指定的系統賬號,訪問的共享位置為系統賬號的家目錄;
各虛擬用戶可被賦予不同的訪問權限:通過匿名用戶的權限控制參數進行指定;
虛擬用戶賬號的存儲方式:
1、文本:此文本文件需要被編碼為hash格式,編輯文本,奇數行為用戶,偶數行為對應用戶密碼;
2、關系型數據庫的表中:即時查詢數據庫完成用戶認證;mariad|mysql依賴于pam_mysql;
centos7:vsftpd+pam+mariadb
1、安裝mariadb和vsftpd、pam_mysql
# yum groupinstall “development tools” “server plantform development”
# yum install mariadb-server vsftpd pam-devel openssl-devel
手動編譯安裝pam_mysql
# tar xf
# ./configure –with-mysql=/usr –with-openssl=/usr –with-pam-mods-dir=/lib64/security
# make && make install
2、創建所需的數據庫和表
MariaDB> ? ? ?CREATE DATABASE vsftpd;
MariaDB> ? ? ?GRANT select ON vsftpd.* TO vsftpd@’localhost’ IDENTIFIED BY ‘test123′;
MariaDB> ? ? ?GRANT select ON vsftpd.* TO vsftpd@’127.0.0.1’ IDENTIFIED BY ‘test123’;
MariaDB> ? ? ?CREATE TABLE users (id int AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30) binary NOT NULL,password char(48) binary NOT NULL);
MariaDB> ? ? ?INSERT INTO users (name,password) VALUES (‘tom’,password(‘tom123’));
MariaDB> ? ? ?INSERT INTO users (name,password) VALUES (‘jerry’,password(‘jerry123’));
3、配置使用虛擬用戶
pam_service_name=vsftpd.mysql ? ? 相對路徑為/etc/pam.d/下 ?需自行創建/etc/pam.d/vsftpd.mysql,如下
auth required pam_mysql.so user=vsftpd passwd=vsftpd123 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=vsftpd123 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password ?crypt=2
添加虛擬用戶映射的系統用戶:vuser
# useradd -s /sbin/nologin -d /ftproot
# chown root:root /ftproot ? ? 注意:映射用戶的家目錄需取消寫權限,否則無法登陸;
# chmod go+rx?/ftproot
并編輯/etc/vsftpd/vsftpd.conf
local_enable=YES
chroot_local_user=YES
guest_enable=YES ? ? ? ? ? ? ? ? ? ?啟用來賓用戶
guest_username=vuser ? ? ? ? ? 虛擬用戶映射的用戶名
設置不同虛擬用戶不同權限:
1、編輯vsftpd.conf,添加
user_config_dir=/etc/vsftpd/vuser_config
2、在該vuser_config目錄下創建用戶同名文件設置權限;例如:
# vim /etc/vsftpd/vuser_config/tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
nfs:network file system;內核實現的unix-like下的文件共享;借助rpc遠程過程調用;nfs:tcp|udp 2049;
命令rpcinfo:用來報告rpc信息;-p 查看各已注冊的端口;
nfs服務器:nfsd、moutd、imapd
# yum install nfs-utils
導出目錄配置/etc/exports和/etc/exports.d/*.exports
每一行格式:
/path/to/somedir ? ? ? ?ip|net(export opt1,opt2)
其常用選項:
rw:讀寫,默認ro(只讀)
root_squash:root權限壓縮為nobody;默認設置
all_squash:所有用戶權限壓縮為nobody;
async:異步傳輸;sync同步傳輸
anonuid:指定映射為某特定uid
anongid:指定映射為某特定gid
維護nfs文件系統,重新導出nfs文件系統
exportfs -ar
客戶端查看nfs共享
showmount -e ip
掛載nfs共享:
mount -t nfs nfs服務器:/dir ? 掛載點
掛載常用參數:
rsize:讀緩沖大小
wsize:寫緩沖大小
proto:指定傳輸協議tcp|udp
timeo:超時時長,單位為十分之一秒;
_netdev:告訴內核這是掛載網絡設備,避免無法開機;
samba:跨平臺文件共享;通過cifs
smb:server message block:服務消息塊
cifs:common internet file system:通用互聯網文件系統
137/udp,138/udp:用于netbios,windows基于主機名實現互相通信的機制;最長15個字符
139/tcp,445/tcp:
samba:
nmbd:netbios
smbd:cifs
winbindd:讓linux加入windows的ad域控
1、交互式數據訪問
探測samba服務器的共享信息:smbclient -L HOST -U USERNAME
連接samba,訪問共享:smbclient //SERVER/shared_name -U USERNAME
2、掛載方式訪問
mount -t cifs //SERVER/shared_name ? /mount_point -o username=USERNAME,password=PASSWORD
服務器:# yum install samba -y
主配置文件:/etc/samba/smb.conf
centos6下web配置工具:samba-swat
測試配置文件語法錯誤:testparm
a、全局設定:
workgroup = WORKGROUP ? ? ? ? ? ? ? ? ? ? ? :工作組
server string = Samba Server Version %v
netbios name = sambaserver ? ? ? ? ? ? ? ? ? ? ? ?:netbios名稱
security = :設定安全級別;share:匿名共享;user:使用samba管理的帳號和密碼;domain:使用DC域控;
passwd backend = tdbsam :使用windows的sam存儲密碼
display charset = ?:當前samba服務所用字符集
unix charset = :當前linux主機所用字符集
dos charset = :windows端的字符集
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
b、某特定共享的設定:
1、私有家目錄
2、打印機共享
3、自定義共享
[shared_name]
path = /path/to/share_dir
comment = 注釋信息
guest ok = ?yes|no、public = yes|no
writable = yes|no、read only = yes|no ?:是否所有用戶可寫
browseable = yes|no:所有用戶是否可瀏覽
write list = +|@GROUP_NAME ? ?:僅指定用戶或組可寫
samba用戶:
賬號:都是系統用戶,/etc/passwd
密碼:samba服務自有密碼文件
samba用戶管理命令:pdbedit [options]
-L:顯示所有samba用戶
-v:顯示詳細信息
-a -u USERNAME:添加用戶
-x:刪除指定用戶
-r:修改指定用戶
將系統用戶轉換為samba用戶的命令:smbpasswd
-a:添加用戶
-d:禁用
-e:啟用
-x:刪除
可用宏列表:
%m:客戶端主機的netbios名稱
%M:客戶端主機的hostname
%H:當前用戶的家目錄
%U:當前用戶的用戶名
%g:當前用戶的組名
%h:當前samba主機的hostname
%I:客戶端主機ip
%T:當前的日期時間
服務器端顯示samba的相關共享狀態信息:smbstatus
-b:簡要信息
-v:顯示詳細信息
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99779