免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5738 | 回复: 14
打印 上一主题 下一主题

mount后,如何让普通用户有写权限。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-13 15:18 |只看该作者 |倒序浏览
mount -t vfat /dev/hda7 /mnt/win -o codepage=936,iocharset=cp936
后,普通用户只有读权限,没有写权限,上面命令应该加什么参数,可以让普通用户也有写权限,谢谢。

论坛徽章:
0
2 [报告]
发表于 2004-10-13 15:34 |只看该作者

mount后,如何让普通用户有写权限。

试试smbclient

论坛徽章:
0
3 [报告]
发表于 2004-10-13 15:36 |只看该作者

mount后,如何让普通用户有写权限。

uid=[user], gid=[group]

论坛徽章:
0
4 [报告]
发表于 2004-10-13 15:37 |只看该作者

mount后,如何让普通用户有写权限。

mount -t vfat /dev/hda7 /mnt/win -o codepage=936,iocharset=cp936 umask=000

论坛徽章:
0
5 [报告]
发表于 2004-10-13 15:42 |只看该作者

mount后,如何让普通用户有写权限。

谢谢bigbrother这位朋友,但是出错。
uid = gid= 这个是什么意思?

论坛徽章:
0
6 [报告]
发表于 2004-10-13 15:47 |只看该作者

mount后,如何让普通用户有写权限。

uid, users permitted
gid, groups permitted

论坛徽章:
0
7 [报告]
发表于 2004-10-13 16:04 |只看该作者

mount后,如何让普通用户有写权限。

mauricze这位朋友你好,你说的这个和挂载权限有什么联系,如果有,怎么样才可以解决我的这个问题?

论坛徽章:
0
8 [报告]
发表于 2004-10-13 16:11 |只看该作者

mount后,如何让普通用户有写权限。

SUID 與 SGID:
其實,說到這裡之前,應該先說明一下 UID (user ID)與 GID (Groupt ID)的!基本上, Linux 認得的帳號只是一堆數字而已!而由於我們每個檔案中同時含有『使用者』與『使用者群組』的屬性,因此,就有所謂的 UID 與 GID 囉! UID 代表我們的使用者『代號』而 GID 則是群組的『代號』。你可以使用『 more /etc/passwd 』這個指令來看一下你的系統當中的所有帳號,然後你會注意到每行的第三、四個欄位(以 : 分隔)為數字,那個就是 UID 與 GID 了,您更會注意到的是, root 的 UID 與 GID 都是 0 !因此,當你建立了一個帳號,而你將該帳號的 UID 與 GID 都改為零,呵呵!那個帳號的使用者就具有 root 的身份囉!
 
那麼什麼是 SUID 與 SGID 呢?!在說明之前我們先來以一般身份使用者 ( 還記得安裝的時候曾經增加一個 test 帳號的一般身份使用者嗎?對啦!用他!然後呢?直接在鍵盤上按下 [Alt] + [Ctrl] + [F2] 到第二個終端機呀!) test 的身份登入,再來看一個檔案的內容:
  [test@test test]$ ls -l /usr/bin/passwd  
-r-s--x--x    1 root     root        13476 Aug  7  2001 /usr/bin/passwd  


看到了 /usr/bin/passwd 檔案的前面屬性了嗎?怎麼會有 s 的屬性在原本的 x 呀!?那個就是所謂的 SUID 了!如果是『 -r-xr-s--x 』時,那麼 s 就成為所謂的 SGID 了!
 
『當一個檔案具有 SUID 的時候,同時 other 的群組具有可執行的權限,那麼當 others 群組執行該程式的時候, other 將擁有該檔案的 owner 的權限!』。
[test@test test]$ ls -l /usr/bin/passwd /etc/shadow  
-r-s--x--x    1 root     root        13476 Aug  7  2001 /usr/bin/passwd  
-rw-------    1 root     root         2423 Jun 25 14:29 /etc/shadow
我們以帳號的密碼檔來說明好了!注意上面的範例囉!可以看到的是, /etc/shadow 的權限是『只有 root 才能存取』呦!那麼你會不會覺得很奇怪?明明我的一般使用者可以自己修改密碼呀!對不對?那麼修改密碼一定跟 /etc/shadow 這個檔案有關,那麼怎麼回事呀!?使用者是如何修改 /etc/shadow 這個檔案的呢?嗯!沒錯!就是使用 SUID 的功能啦!上面的例子說明了, /usr/bin/passwd 這個檔案具有 SUID 的屬性,那麼當使用者使用 /usr/bin/passwd 這個執行檔時,在執行 pass word 修改的期間就具有 /usr/bin/passwd 這個檔案的擁有者 root 的所屬權限囉!所以,所以當一般使用者執行 passwd 的時候,將具有 root 的權限,所以他們也可以更改 /etc/shadow 的內容囉!那麼由此也可以知道,由於這個 Set UID ( SUID ) 的主要功能是在『某個檔案執行的期間具有檔案擁有者的權限』,因此, s 就是替代上面提到的 x 這個可執行的位置囉!那萬一該檔案並沒有 x 的屬性呢?哈哈!問的好!那麼該檔案的屬性就會將小寫的 s 變成大寫的 S 啦! ( 這裡即使暫時不瞭解也沒有關係,等到過一陣子再回來看一看,你就會瞭解啦! )
 
不過,由此也知道 SUID 與 SGID 的問題所在,沒錯!就是太不安全了!如果你有一個檔案具有 root 的權限,那麼當開啟了 SUID 的時候,嘿嘿!夠你瞧的了!!因此上,在變更一個檔案成為具有 SUID 或 SGID 的情況時,必須要特別小心呢!知道乎!?
 
Sticky bit:
OK!接著下來,我們要來看一下,既然有 SUID 與 SGID ,那麼為什麼沒有在最末位出現 s 取代 x 呢?呵呵!這當然沒有必要啦!因為那是屬於 others 的權限,你的檔案如果是任何人皆可執行的話,那麼本來他們就具有權限啦!幹嘛還要設定 s 的屬性!?不過,這裡卻真的有另一個屬性出現了,那就是 Sticky bit 的屬性 ( t ) !這個屬性的最大用處在於『具有 sticky bit 屬性的該”目錄”下的檔案,其檔案或目錄只有檔案擁有者及 root 才有權力刪除!』這樣是否可以瞭解了呢?嘿嘿!沒錯!在我們系統裡面本來就預設有一個啦!那就是 /tmp 這個目錄!
   [test@test test]$ ls -l /  
drwxrwxrwt    2 root     root         4096 Jul 18 13:08 tmp  
 
如何,發現了吧!雖然該目錄具有所有人皆可讀寫的權限,但是確有一個 t 出現了,那就是所謂的 sticky bit 囉!在該目錄裡面雖然你可以建立與修改任何檔案,但是卻僅能刪除自己建立的檔案呢!除非你是 root !你可以這樣試試看囉:
 
1. 以 root 登入系統,並且進入 /tmp 當中;
2. touch test,並且更改 test 權限成為 777 ;
3. 以一般使用者登入,並進入 /tmp;
4. 嘗試刪除 test 這個檔案!


转自鸟哥论坛www.vbird.org

论坛徽章:
0
9 [报告]
发表于 2004-10-13 16:11 |只看该作者

mount后,如何让普通用户有写权限。

[quote]原帖由 "bigbrother"]mount -t vfat /dev/hda7 /mnt/win -o codepage=936,iocharset=cp936 umask=000[/quote 发表:

正解
man mount,会看到详细说明

论坛徽章:
0
10 [报告]
发表于 2004-10-13 16:19 |只看该作者

mount后,如何让普通用户有写权限。

我输入这个命令后出错。
[root--167--~]mount -t vfat /dev/hda7 /mnt/win -o codepage=936,iocharset=cp936 umask=000
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
       mount -t type dev dir    : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
       mount --bind olddir newdir
or move a subtree:
       mount --move olddir newdir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options].
For many more details, say  man 8 mount .
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP