1. 程式人生 > >window中對ubuntu通過samba共享出來的檔案沒有寫許可權/無法修改--轉載

window中對ubuntu通過samba共享出來的檔案沒有寫許可權/無法修改--轉載

【問題】
已經實現了Ubuntu 10.10下,通過Samba共享出來資料夾,在Windows下面,已經實現了可以正常訪問,讀取檔案或檔案夾了。
但是卻發現沒有寫入的許可權。從ubuntu共享出去的檔案,只允許一個叫做tq2440的使用者訪問。
【解決過程】
1.最容易想到的原因就是smb的配置是否正確了,但是我這裡確保我的配置是正確的,是通過samba的圖形介面配置的,的確勾選了可寫入的那個選項的,而且共享出來的共3資料夾,其中一個資料夾也的確是可以寫入的,但是另外兩個資料夾不可以寫入而已。所以肯定不是這個原因。
2.網上說有關於SELinux的問題,而我此處的ubuntu都沒有裝它,所以執行getsebool,都會提示如下內容:

  1. [email protected]:~/develop$ getsebool
  2. 程式“getsebool”尚未安裝。 您可以使用以下命令安裝:
  3. sudo apt-get install selinux-utils
複製程式碼
所以,此處肯定不是這個原因。
3.有人在這裡:
http://www.linuxdiyf.com/bbs/thread-166768-1-1.html
提到了檔案所屬於哪個使用者的問題:
“linux檔案系統的許可權設定是個前提, 無論samba的訪問許可權怎麼設定, 使用者在linux中無權訪問的檔案在samba中也肯定是不能訪問的.”
而當前這些檔案都是我的root使用者crifan所建立的,但是共享出去給tq2440的使用者訪問,所以覺得貌似可能是這個原因。

所以想到去ubuntu下面改一下檔案所屬的使用者,試試是否可行:
  1. [email protected]:~/develop$ pwd
  2. /home/crifan/develop
  3. [email protected]:~/develop$ ls
  4. EABI-4.3.3_EmbedSky_20091210.tar tq2440u
  5. [email protected]:~/develop$ sudo chown -hR tq2440 tq2440/
複製程式碼
即,把共享出去的tq2440資料夾及其下面所有檔案所屬的使用者從原先的crifan改成tq2440,然後再去windows下面重新訪問,的確就可以實現寫write的操作了。

看來此處問題原因就是這個檔案/資料夾所屬使用者許可權不正確,導致無法寫入的。

【後記 2011-04-02】
前面已經實現了從windows中修改ubuntu中的檔案了,但是還是有個問題。
本身,我從ubuntu中共享出去的目錄是tq2440/ ,但是是用crifan使用者建立的,但是我共享出去的tq2440/資料夾,是給一個叫做tq2440的使用者所共享的,現在我雖然可以在windows下面對tq2440資料夾的上層資料夾develop進行寫入操作,但是卻無法對tq2440目錄及下面的檔案進行修改。
後來,通過chown命令,將tq2440資料夾及下面檔案的所有者owner都改為tq2440使用者:
  1. chown -hR tq2440 tq2440/
複製程式碼
雖然可以實現需要的效果,即,從windows上可以修改qt2440目錄及其下的檔案了,但是回到ubuntu下,用現在登入的crifan使用者去tq2440目錄下面操作,卻無法進行寫入修改等操作了,所以很是鬱悶。
然後想到,是不是可以將crifan和tq2440兩個使用者都設定到一個組裡面,然後給該組設定許可權為可以修改。
然後就去嘗試,新建了一個組叫做develop,然後把crifan和tq2440都加入到該組中。然後去設定tq2440目錄的組為develop:
  1. chown -hR crifan:develop qt2440/
複製程式碼
但是,結果去windows下面嘗試,結果還是沒有寫的許可權。
( 
【後記 2011-04-03】
後來經過嘗試,先去 系統 -> 系統管理 -> 使用者和組,把crifan和tq2440兩個使用者都設定為develop組,
然後再去把tq2440的使用者許可權新增為 同組使用者也有讀和寫的許可權:
  1. sudo chown -hR crifan:develop tq2440/
複製程式碼
這樣設定才是正確的,然後tq2440的使用者,在windows下訪問Ubuntu中通過samba共享出來的tq2440的資料夾,就也可以寫入了。


最後,經過折騰,還是通過修改組和其他使用者的操作許可權才解決次問題:
  1. chmod -R go+rwx qt2440/
複製程式碼
其中:
-R: Recursive,遞迴模式,修改該資料夾及其下所有檔案和資料夾
go: g是Group組,o是Other其他使用者
+ : 是新增許可權
rwx:r是Read讀,w是Write寫,x是eXecute執行
這樣,就可以針對tq2440及其下所有檔案都改成了,不僅建立者crifan自己可以修改,同組的其他使用者和其他的使用者,都可以有寫的許可權了:
  1. [email protected]:~/develop$ chmod -R ga+rwx tq2440/ 
  2. [email protected]:~/develop$ ls -l
  3. 總計 499128
  4. drwxrwxrwx 3 crifan develop      4096 2011-04-01 21:16 tq2440
複製程式碼

【引用】
http://hanyuanbo.iteye.com/blog/751199
關於ls,chmod,chown等命令的具體解釋:
1. 終端的最基本操作 
ls          # 顯示當前資料夾下的內容 
-a -l -R -d #所有檔案 /詳細資訊/遞迴的顯示所有目錄和檔案/不遞迴 
cd .. / -  # 進入上/上一次 資料夾 
mkdir cp rm rmdir rm -r  vim chmod pwd mv #  建立資料夾  複製/刪除/刪除空資料夾/刪除資料夾  編輯/改變許可權/檢視當前目錄/移動檔案 
mv 檔名 新檔名  #重新命名 

其中的一些介紹 
ls -l  #顯示的內容意思 
這是第一列的意義: -l連線檔案 
-d目錄檔案 
-普通檔案 文字檔案和二進位制檔案 
[bcp]特殊檔案(即b或c或p) 
這是第二列到第十列的意思: 讀寫執行許可權 
-   rwx  rwx rwx  2  root  root 1234  Jun 26 11:21  test.txt 
1  2     3     4    5    6      7      8       9                   10 
1. 檔案的型別 
2. 擁有者對該檔案的許可權(read write execute) 
3. 群組對該檔案的許可權 
4. 其他人對該檔案的許可權 
5. 與該檔案[夾]的連線數目 
6. 擁有者的使用者名稱 
7. 群組的名稱 
8. 檔案大小 
9. 建立日期 
10. 檔案[夾]名稱 

2. 改變許可權的命令: 
1. chmod [-R] 750  filename/filelist 則是 111 101 000 改變各個使用者的許可權。如: chmod 755 /usr/local/*  將該資料夾下的檔案賦予755許可權 
2. chmod [-R] [ugoa] [+-=] [rwx] filename/filelist 



http://www.opensourceproject.org.cn/article.php?id=456
Symbolic Mode
The format of a symbolic mode is `[ugoa...][[+-=][rwxXs tugo...]...][,...]'. 

Multiple symbolic operations can be given, separated by commas.

A combination of the letters `ugoa' controls which users' access to the file will be changed:

The user who owns it (u)
Other users in the file's group (g)
Other users not in the file's group (o)
All users (a)

If none of these are given, the effect is as if `a' were given, but bits that are set in the umask are not affected.

all users (a) is effectively 
user + group + others

The operator '+' causes the permissions selected to be added to the existing permissions of each file; '-' causes them to be removed; and '=' causes them to be the only permissions that the file has.

The letters 'rwxXstugo' select the new permissions for the affected users:

Read (r), 
Write (w), 
Execute (or access for directories) (x), 
Execute only if the file is a directory or already has execute permission for some user (X), 
Set user or group ID on execution (s), 
Save program text on swap device (t), 
The permissions that the user who owns the file currently has for it (u), 
The permissions that other users in the file's group have for it (g), 
Permissions that other users not in the file's group have for it (o).

相關推薦

windowubuntu通過samba共享出來檔案沒有許可權/無法修改--轉載

【問題】已經實現了Ubuntu 10.10下,通過Samba共享出來資料夾,在Windows下面,已經實現了可以正常訪問,讀取檔案或檔案夾了。但是卻發現沒有寫入的許可權。從ubuntu共享出去的檔案,只允許一個叫做tq2440的使用者訪問。【解決過程】1.最容易想到的原因就

Ubuntu通過samba winbind集成AD賬號

用戶名 ken inb 開始 rep workgroup amba word 圖形化 Ubuntu通過samba winbind集成AD賬號: 安裝軟件: apt-get install samba krb5-config krb5-user winbind libpam

linux伺服器下通過samba共享資源

1,首先檢視該檔案伺服器是否已經安裝了samba服務 檢視命令:rpm -qa samba 如果安裝了則出現一下截圖中的效果 2,如果沒有安裝samba則可以通過yum安裝samba服務 安裝命令:yum install -y samba [samba-client 

centos7與win7通過samba共享資料夾

第一步:安裝samba服務 》yum install samba 第二步:啟動samba服務 》systemctl start smb 檢視samba的狀態 》systemctl status smb

VirtualBoxUbuntu訪問宿主windows的共享資料夾 沒有訪問許可權的問題

把普通使用者名稱加入到vboxsf之中。因為你的使用者名稱不在vboxsf這個使用者組。下面新增boarmy到vboxsf這個使用者組。執行:  sudo adduser boarmy vboxsf 發現執行這個之後,重啟 可開啟 /media/s_f  資料夾,可是看不到

如何通過Samba共享Linux資料夾

Samba(SMB是其縮寫) 是一個網路伺服器,用於Linux和Windows共享檔案之用;Samba 即可以用於Windows和Linux之間的共享檔案,也一樣用於Linux和Linux之間的共享檔案

Linux通過samba訪問windows檔案

Linux通過samba訪問windows共享檔案 環境: Windows:192.168.3.128   共享的windows檔案:F:\\client2 Linux  : 192.168.1.25 掛載在Linux下的位置:/mnt/Windows 登入條件: 使用

php上傳到伺服器的檔案重新命名

 原始碼:$path = './upfiles/'. $_FILES['file']['name'];$filename = basename($path);// basename($path):返回上傳檔案的基本的檔名,如:檔名.doc $actualname = $fil

【linux】檔案的使用者許可權修改

使用root許可權可以將檔案或者資料夾的許可權更改為其他許可權; 1,更改使用者許可權: 使用'll' 或'ls -l' 可以檢視檔案的使用者許可權: 第三列是檔案擁有者,第四列是所屬的使用者組。 使用"chown  賬號名稱 檔案或目錄" ,

libgcc_s.so.1:無法開啟共享物件檔案:沒有那個檔案或目錄

libgcc_s.so.1:無法開啟共享物件檔案:沒有那個檔案或目錄 原文地址 錯誤前景,新的linux環境下配置jdk,tomcat啟動之後動態驗證碼載入302 14:37:10.921 [catalina-exec-7] ERROR o.s.b

彩色YUV視訊進行二進位制檔案時候的注意事項

開啟並讀寫YUV彩色視訊時,在寫yuv時候,開始用的是fopen(“.......”,"r+");結果視訊yuv檔案,有很厲害的抖動和顏色的偏移。後來改成如下,即fopen(“.......”,"rb");但是在寫的時候使用的fopen(yuvImageName,"r+")

ubuntu 18.04環境下通過samba服務設定共享資料夾

一、安裝Samba 下載安裝Samba Ubuntu終端輸入sudo apt-get install samba 修改/etc/samba目錄下的配置檔案smb.conf 下面的操作在終端操作,並且需要root許可權 sudo -i 修改檔案 vi

Ubuntu開啟Samba服務,並通過windows系統對映共享目錄

新裝的系統預設是沒有Samba服務的,執行如下命令安裝Samba服務: sudo apt-get update sudo apt-get install samba samba-common 然後,建立一個用於共享的資料夾myDocument,並編輯Sam

[轉] VMwareUbuntu無法通過橋接方式上網

無法聯網 基於 路由 方案 適用於 jpg 代理 訪問外網 關系 遇到的問題:主機可以上網(使用了代理),VMware設置為橋接方式連網。在主機中可以ping通虛擬機,在虛擬機中也可以ping通主機,可是在虛擬機中始終連接不了因特網。 感謝劉洋同學的博文,“在

Python象的引用和共享引用

col 即使 列表 標簽 同一性 例子 垃圾回收 是否 垃圾 在Python中先創建一個對象,然後再將變量指向所創建的對象。 對於每個對象,都有一個頭部信息,在信息中就標記了這個對象的類型信息。每當一個變量名被賦予了一個新的對象,之前那個對象占用的空間就回被回收(如果此時這

Ubuntu Samba 共享移動硬盤的簡單方法

掛載 png 文件 分享 nautilus term ext nag 輸入 1,首先掛載移動硬盤2,命令行輸入:sudo nautilus,打開文件瀏覽器3,修改 /media/用戶名 權限為:其他 - 訪問:訪問文件4,使用Samba共享移動硬盤Ubuntu Samba

使用Windows 2008R2的NFS替代Samba協議,解決Windows 與Linux共享文件的問題

acc 無法 xen 右鍵 nfs服務 sina 存儲 選擇 顯示 一、在Windows服務器上進行安裝NFS服務 首先,打開服務管理器,選擇添加角色; 選中文件服務,下一步; 出現一個提示,不管它,繼續下一步; 在接下來

通過Samba實現Linux與Windows間的文件共享

一個 主機 是否 ios協議 har 資源共享 沒有 printer int Samba Samba,是用來讓Linux系列的操作系統與Windows操作系統的SMB/CIFS(Server Message Block/Common Internet File System

linux——如何搭建samba共享目錄的,用戶認證共享及匿名用戶共享?(不分系統)

stat config alt 使用 files 設置 set 本地 ive 1.應用場景,搭建sam共享目錄可用於linux以及windows之間 2.服務端ip:192.168.56.11 (A)客戶端ip:192.168.56.133 (B) 查看防火墻狀

Ubuntu 16.04 samba共享homes示例

syn ole ubuntu sts rsh file users cti smbd Ubuntu 16.04 samba共享homes示例: 註:1、global下加security = user (只有經過認證的才能訪問)2、 unix password syn