Debian文件系統共享與權限設置指南
Samba是Debian上最常用的跨平臺文件共享工具,可實現Windows與Linux系統間的文件共享。
sudo apt update && sudo apt install samba
命令安裝Samba服務。/etc/samba/smb.conf
,在文件末尾添加共享配置(以共享/home/user/shared
為例):[shared]
path = /home/user/shared
browseable = yes # 允許網絡瀏覽共享
writable = yes # 允許寫入(需結合權限設置)
guest ok = yes # 允許匿名訪問(若需認證,設為no并添加valid users)
create mask = 0777 # 新建文件權限
directory mask = 0777 # 新建目錄權限
sudo chmod -R 0777 /home/user/shared
(生產環境建議限制為必要權限,如0775
)和sudo chown nobody:nogroup /home/user/shared
(將目錄所有者設為nobody,避免權限沖突)。sudo smbpasswd -a username
(將username
替換為系統用戶),設置Samba專用密碼。sudo systemctl restart smbd && sudo systemctl restart nmbd
使配置生效。\\Debian_IP\shared
訪問;Linux系統使用smbclient //Debian_IP/shared -U username
命令掛載。NFS是Linux系統間高效的網絡文件共享協議,適合局域網內Linux主機共享。
sudo apt update && sudo apt install nfs-kernel-server
安裝NFS服務。/etc/exports
文件,添加共享規則(以共享/mnt/nfs
給192.168.1.0/24
網段為例):/mnt/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
參數說明:rw
(讀寫權限)、sync
(同步寫入,確保數據一致性)、no_subtree_check
(禁用子樹檢查,提升性能)。sudo exportfs -a
使配置生效。sudo systemctl restart nfs-kernel-server
。nfs-common
(sudo apt install nfs-common
),創建掛載點(sudo mkdir -p /mnt/nfs_client
),運行sudo mount Debian_IP:/mnt/nfs /mnt/nfs_client
掛載共享。SSHFS通過SSH協議掛載遠程文件系統,適合需要加密傳輸的場景。
sudo apt update && sudo apt install sshfs
安裝SSHFS。sudo mkdir -p /mnt/sshfs
創建本地目錄。sshfs user@remote_host:/remote/path /mnt/sshfs
(替換user
為遠程用戶名,remote_host
為遠程主機IP或域名,/remote/path
為遠程共享目錄),輸入遠程用戶密碼即可掛載。fusermount -u /mnt/sshfs
卸載。ls -l
命令查看文件/目錄的權限信息(如-rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt
),其中:
-
=普通文件、d
=目錄、l
=符號鏈接);rw-
=讀寫、r--
=只讀);chmod u+x file.txt
(給所有者添加執行權限)、chmod g-w file.txt
(移除組寫權限)、chmod o=r file.txt
(設置其他用戶為只讀)。chmod 755 file.txt
(所有者7
=讀寫執行,組和其他5
=讀執行)、chmod 644 file.txt
(所有者6
=讀寫,組和其他4
=只讀)。chown new_user file.txt
:將文件所有者改為new_user
;chgrp new_group file.txt
:將文件所屬組改為new_group
;chown -R user:group /path/to/directory
(修改目錄及其內容的所有者/組)。chmod u+s file
(如/usr/bin/passwd
)。chmod g+s directory
。chmod +t /tmp
(/tmp
目錄默認開啟粘滯位)。ACL允許為特定用戶或組設置額外權限,突破傳統權限模型的限制。
/etc/fstab
文件,在掛載選項中添加acl
(如UUID=xxxx / ext4 defaults,acl 0 1
);sudo mount -o remount /
。setfacl -m u:username:rwx /path/to/file
(給username
添加讀寫執行權限);setfacl -m g:groupname:r-x /path/to/file
(給groupname
添加讀執行權限);getfacl /path/to/file
;setfacl -x u:username /path/to/file
(刪除用戶的ACL權限)。umask用于設置新建文件/目錄的默認權限,計算方式為:默認權限 - umask值。
666
(讀寫),目錄為777
(讀寫執行);022
(文件644
=666-022
,目錄755
=777-022
)、002
(文件664
,目錄775
,適合團隊協作)。umask 022
臨時生效,或添加到~/.bashrc
(用戶級)或/etc/profile
(系統級)永久生效。