Android with root Git for version control Lircd with Raspberry Pi for IR receiver and sender Tips for Windows Depolying your own password management tool -- KeeWeb Depoly your flask app into Heroku Fix shit IE code manually ISBN to Book Category by Scraping DangDang A Generic Makefile for C/C++ Program Configure Raspberry pi Remove watermark with PyPDF2 tips for docker Anaconda+TensorFlow+CUDA Snippets Configure Remote Mathematica Kernel Build your own ngrok server Access Array SSL VPN 使用Rstudio制作html5幻灯片 tips for Mac OS X system Tips for ipython notebook 配置Ubuntu server + Openbox (Obuntu) tips for Vimperator tips for Vim 安装CUDA My First Jekyll Blog rsync常见选项 在Linux中读取Ipod touch的文件 tip for texmacs 在VPS上建站的一些tip Gnuplot绘图札记 Samba系统和autofs自动挂载 Linux中alsamixer声卡无法录音 搭建自己的RSS订阅器——Tiny Tiny RSS Grub2引导安装Ubuntu awk tips 将Ubuntu系统装入U盘 The Great Rtorrent 编译GCC 再这样剁手!!!该死的libgd 使用ulimit进行资源限制 使用SSH代理上IPV6 使用RCurl抓取网页数据 修复Ubuntu Grub记 openbox中的文件关联 在Ubuntu 12.04下编译qtiplot 处理BCM4312网卡驱动纪实 配置我的Ubuntu Server记 Cygwin杂记 Linux 使普通用户具有以超级权限执行脚本 让firefox自定义地处理文件类型 WordPress优秀主题及插件 在phpcloud上搭建wordpress UBUNTU下用pptpd做VPN server ubuntu升级内核过后的一些问题 安装telnet服务 kubuntu札记 64位kubuntu札记 统计软件R Virtualbox stardict星际译王 Ubuntu重装windows系统后的grub引导修复 SSH服务及花生壳域名解析 采用cbp2make工具由code::blocks工程创建makefile文件 UBUNTU 札记

Linux 使普通用户具有以超级权限执行脚本

2013年05月15日

这几天玩OpenBox,开始的时候不了解,thunar始终不能自动挂载U盘,虽然后面解决了(需要安装gvfs,thunar-volman,在thunar中打开卷管理),但是之前还是想自己写一个脚本来更加方便地挂载U盘。

这之间遇到一个问题,那就是挂载U盘需要具有root权限,我又不想每次运行这个挂载脚本都加上sudo,google了一下发现可以通过设置脚本的UID来实现。

虽然这个脚本没有完成,但是还是贴一些片段在这儿。

#!/bin/bash

#想要知道一个分区的卷标,一个很简单的办法,本来是想通过这种方法来给出一个可挂载卷的列表
ls /dev/disk/by-label/ -al

cat /etc/mtab #这个文件里面存放的是已经挂载过得文件系统

#对不同的文件系统有不同的挂载方法
sudo fdisk -l #这可以列出文件系统及其格式

sudo mount -t vfat /dev/sdb1 /mnt/ -o uid=1000,gid=100,utf8,dmask=027,fmask=137
#sudo mount -t ntfs-3g /dev/sdb1 /media/external

啊~~~下面这段当我没说~~~~~~~~~~~~~~~~~~~~~~~~

这里只是收集了要完成这个脚本需要的一些命令,还差很多正则表达式以及程序结构。虽然这个脚本中含有sudo命令(必须用sudo,否者会出现提示不是根用户改变suid只是改变权限而非用户),但是不需要输入密码,只需要修改其suid即可:

chmod +x mount.sh
chmod u+s mount.sh