Centos7 配置 Samba 共享資料夾和印表機
弄了好久,看了往上好多文章大多數中文的都是那幾篇的變形,照著做還是開不起來,其中中有很多原因,他們只提到一部分而已我猜應該不是全新作業系統去安裝的教程,或者是更新之後變的更安全需要額外開啟權限。
設置完畢之後直接從Windwos上的資料夾打上 \ip 即可連接上,進入網路上的芳鄰是看不到的。
Samba初始化過程
配置完成即可連上,並可見登入使用者的目錄
# 配置smb.conf
vi /etc/samba/smb.conf
[User1]
read only = No
guest ok = No
valid users = user
browseable = yes
# 新增帳號+重設密碼
smbpasswd -a user
# 刪除帳號
pdbedit -x user
#防火牆允許通過
firewall-cmd --permanent --zone=public --add-service=samba
#SElinux允許通過
setsebool -P samba_enable_home_dirs 1
setsebool -P samba_export_all_ro 1
setsebool -P samba_export_all_rw 1
# 設置文件屬性(好像不用不行再打)
chcon -R -t samba_share_t /home/chg
semanage fcontext -a -t samba_share_t "/home/chg(/.*)?"
# 重新啟動 Samba
systemctl restart smb
# 查看 Samba 是否正確運行中
systemctl status smb
#其他 Samba 指令
systemctl start smb
systemctl enable smb
建立公用資料夾 (大家看的到)
# 新建資料夾
mkdir /var/samba_share
mkdir /var/samba_share/public
# 資料夾更改權限(任何人可見可修改)
chmod 777 /var/samba_share/public
# 資料夾改權限(任人可見僅擁有者可修改)
chmod 755 /var/samba_share/public
# 修改 vi /etc/samba/smb.conf 文件
[public]
public = yes
path = /var/samba_share/public
browseable = yes
writable = yes
guest ok = yes
# 重新啟動 Samba
systemctl restart smb
新增其他使用者
如果要新增第二個使用者需要做的步驟有
- 加入samba群組
smbpasswd -a user
- 配置
smb.conf
文件 - 重啟 samba 伺服器
systemctl restart smb
關於SElinux
沒有關閉預設狀態什麼都不能用,必須設置指令開啟才可以使用
他自己從右上角通知跳出來警告,然後警告裡面有教怎麼做
他自己從右上角通知跳出來警告,然後警告裡面有教怎麼做
#暫時關閉SElinux(重開機會啟動)
setenforce 0
#確認有無關閉SElinux
getenforce
#開通三個布林值
setsebool -P samba_enable_home_dirs 1
setsebool -P samba_export_all_ro 1
setsebool -P samba_export_all_rw 1
#這兩個警告跳出來的要我按,我不確定要幹嘛的
ausearch -c 'smbd' --raw | audit2allow -M my-smbd
semodule -i my-smbd.pp
windwos端設定
開進去網路芳鄰之後直接點印表機右鍵連線就可以用了。
注意:要記住使用者名稱
如果不記住下一次開機的時候就需要重打,到這邊還不是問題就重就好了;會出問題的是 AdobeReader、Office 這些軟體有列印的功能的,一打開就會偵測印表機這時候因為沒有帳密就偵測不到,結果就是沒有回應整個白白的卡住要等個幾分鐘他才會放棄偵測,此時才正常打開 word 或 pdf。
如果要用指令的方式配置,我查了一些指令設置如下
# 安裝裝驅動
pnputil -a \\driver.inf
# 連線至印表機
rundll32 printui.dll,PrintUIEntry /in /n \\YourIP\dcp7040
# 新增主機名稱
set hostdir=%SystemRoot%\System32\drivers\etc\hosts
echo. >> %hostdir%
echo YourIP ServerName >> %hostdir%
START %SystemRoot%\explorer.exe \\ServerName
上面的方式其實還是要人去點,有嘗試想寫無人職守的方式,不過遇到不少問題,最後我放棄了QuQ
沒有留言:
張貼留言