sudu、文件共享(vsftp、samba、nfs)

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
內核:nfs (Sun)
跨平臺:samba;在Linux實現CIFS(SMB)協議
ftp: File Transfer Protocol
應用層協議:tcp, 21/tcp
C/S:
Client: 程序:ftp、lftp、filezilla、gftp(linux gui)
Server: 程序:IIS、Serv-U、pureftp、proftpd、vsftpd(very secure ftp daemon)
數據:
命令連接:文件管理類命令,始終在線的連接
數據連接:數據傳輸,按需創建及關閉的連接
主動active和被動passive模式是基于服務器角度而言
主動:由服務器創建連接;弊端:由于主動連接到客戶端,基本會給防火墻阻擋;
命令:
Client:50000 –> Server: 21
數據:
Server: 20/tcp –> Client: 50000+1
被動:由客戶端創建連接;弊端:由于服務器自行開啟一個隨機端口負責數據連接,因此服務器本身的防火墻應該開通連接追蹤功能;
命令:
Client:50000 –> Server: 21
數據:
Client:50000+1 –> Server: 隨機端口
數據傳輸格式:
文本傳輸
二進制傳輸

ftp用戶的類型:

匿名用戶:anonymous或ftp;其登錄目錄為其ftp的家目錄/var/ftp;

本地用戶:賬號名稱、密碼等信息保存在passwd、shadow文件中;其登錄目錄為該系統用戶的家目錄下;

虛擬用戶:使用獨立的賬號、密碼數據文件;其登錄目錄為映射用戶的家目錄;

 

響應碼:
1xx: 信息
2xx: 成功類的狀態碼
3xx: 提示需進一步提供補充類信息的狀態碼
4xx: 客戶端錯誤
5xx: 服務端錯誤

 

用戶認證:虛擬用戶:僅用于訪問某特定服務中的資源;
nsswitch:network server switch,名稱解析框架
配置文件:/etc/nsswitch.conf
模塊:/lib64/libnss*、/usr/lib64/libnss*
pam:pluggable authentication module,用戶認證框架
配置文件:/etc/pam.conf、/etc/pam.d/*
模塊:/lib64/security/*

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

(0)
N26-深圳-城市蝸牛N26-深圳-城市蝸牛
上一篇 2018-05-29 16:53
下一篇 2018-05-30 10:31

相關推薦

  • 馬哥Linux第三周

    第三周作業 7.2-7.8

    Linux筆記 2018-07-08
  • 數組,字符串切片,高級變量

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合 數組名和索引 索引:編號從0開始,屬于數值索引 注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引 bash4.0版本之后開始支持 bash –version?? 查看bash版本 bash的數組支持稀疏格式(索引不連續) 聲明數組: de…

    Linux筆記 2018-05-13
  • mysql練習題

    ?導入hellodb.sql生成數據庫?(1) 在students表中,查詢年齡大于25歲,且為男性的同學的名字和年齡MariaDB [hellodb]> select Name,Age from students where Age>25 and Gender=’M’;?(2) 以ClassID為分組依據,顯示每組的平均…

    Linux筆記 2018-06-09
  • 第二周:Linux文件管理命令以及bash的工作特性

    一、Linux文件管理命令 1. cp命令 ● 命令格式 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY ? ? ? ? ?cp [OPTION]… -t DIRECTORY SOURCE…   ● 命令功能 復制文件 ● 命令選項 -…

    2018-05-16
  • linux文件系統目錄概述

    linux文件系統目錄概述

    Linux筆記 2018-05-13
欧美性久久久久