树莓派论坛

 找回密码
 立即注册

如何让程式取得资料夹写入权限

baoxiaozhong 发表于 2013-1-14 14:28:56 | 显示全部楼层 |阅读模式
本帖最后由 baoxiaozhong 于 2013-1-14 14:36 编辑

硬体 raspberry pi
系统 raspbmc
bt软体 transmission
user pi

安装完成 transmission后,执行
sudo /etc/init.d/transmission-daemon start
可由网页或GUI得知transmission运行正常。

mount NAS 的资料夹

sudo mount //nas/share /cifs1

也正确挂载。

sudo mkdir /cifs1/test

也正确建立test 资料夹

sudo nano /cifs1/test/test.txt

也可写入 test.txt

sudo chmod -R 777 /cifs1/test & sudo chmod a+rw /cifs1/test 打开写入权限。

但是transmission还是无法在 /cifs1/test/ 下写入档案。

再改用chown 给使用者 pi权限

sudo chown -R pi /cifs1

还是无法让transmission 写入。

依照GOOGLE大神的指导,给予debian-transmission写入权限:

sudo chmod -R g+rw /cifs1
sudo chgrp -R debian-transmission /cifs1

transmission还是无法在 /cifs1 下写入档案。

如果不写入mount路径 ,直接将下载路径设为 //nas/share ,此//nas/share 没设任何帐密,也是无法写入。

我的疑问是:
执行
sudo /etc/init.d/transmission-daemon start

那transmission-daemon 就应该是有 root 的权限,如果它没有root 的权限,那它到底是拿到谁的权限?


如何给transmission权限能够写入档案到 nas?

P.S.     transmission应该是有取得 root 的权限,因为在外部用网页或GUI修改transmission控制参数,它是会回写到/etc/transmission-daemon/settings.json ,而settings.json是需要 root 权限才能进行修改。
focker.v 发表于 2013-1-14 15:41:26 | 显示全部楼层
我昨天装的transmission,向u盘里写东西。也是权限的问题,弄半天。

最后解决的方法是在fstab文件里default那个,改成rw。

你可以参考一下。
focker.v 发表于 2013-1-14 15:41:30 | 显示全部楼层
/dev/hda1 /mnt/win_c vfat rw,pagecode=936,iocharset=cp936 0 0

类似于这样
baoxiaozhong  楼主| 发表于 2013-1-14 16:59:02 | 显示全部楼层
本帖最后由 baoxiaozhong 于 2013-1-14 17:02 编辑
focker.v 发表于 2013-1-14 15:41
我昨天装的transmission,向u盘里写东西。也是权限的问题,弄半天。

最后解决的方法是在fstab文件里defa ...


这是指那个路径下的 fstab ? 因为你是挂载U盘,所以会在/etc/fstab 文件里看的到,我是用 mount 不会出现在 fstab 里。
focker.v 发表于 2013-1-14 21:08:39 | 显示全部楼层
就是etc/fstab

因为每次都mount比较麻烦,就写在fstab,自动挂载上。

我刚刚看了看,是这么写的


/dev/sda1     /media/usb   vfat   rw,user,umask=0,iocharset=utf8    0    0
baoxiaozhong  楼主| 发表于 2013-1-14 22:58:45 | 显示全部楼层
focker.v 发表于 2013-1-14 21:08
就是etc/fstab

因为每次都mount比较麻烦,就写在fstab,自动挂载上。


那这个做法就不适合挂载smb的资料夹了,因为mount进来的网芳资料夹是不会出现在 /etc/fsatb的。
我已经试了一整天了,目前改换 aria2 就可以正常写入,放弃transmission 。
自由飞翔 发表于 2013-1-15 10:29:00 | 显示全部楼层
sudo mount //nas/share /cifs1 这个是用root权限挂载的 默认参数不是全部用户可写

想要全部用户可写  需要在挂载的时候 添加 umask参数定义
ferrets 发表于 2013-1-15 13:11:58 | 显示全部楼层
cifs的话感觉有问题……
baoxiaozhong  楼主| 发表于 2013-1-15 13:32:10 | 显示全部楼层
本帖最后由 baoxiaozhong 于 2013-1-15 13:34 编辑
自由飞翔 发表于 2013-1-15 10:29
sudo mount //nas/share /cifs1 这个是用root权限挂载的 默认参数不是全部用户可写

想要全部用户可写   ...


我改换 aria2 为 BT 下载工具,无论是 user:pi 或是 root:root  都是可以正常写入的。

再回楼上:
cifs 只是一个 mount 给予的名称,没有什么意义的,所以标题可能要修改为如何讓 transmission 取得資料夾寫入權限?
emotinaless 发表于 2013-1-26 08:29:49 | 显示全部楼层
试下
sudo nano /etc/init.d/transmission-daemon
将username改成 USER=you_name
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )