本文作者系Venmos,非TualatriX。感谢他为Linuxer撰写的这篇文章。
前言:
这是一篇很初级但是也比较简单容易学习Linux目录权限设置的文章,之前我使用Windows Server系统,用图形界面管理文件的访问权限.后来在学习GUN/Linux Server的时候发现GUN/Linux的权限管理设置非常强大,也非常方便.但是我发现在网路上没有一篇文章是完整叙述+让读者很容易理解的,于是我写了这篇简单易懂的Linux之文件夹权限设置希望可以帮到大家.
权限设置有什么好处?
随着计算机普及速度越来越快,家庭中有一台以上计算机,朋友带着笔记本来串门变得越来越平常.但是在与家人或朋友分享自己电脑上收藏的好冬冬的时候有没有碰到访问不能?没有文件执行权限?又或者是不希望家人与朋友把自己电脑上的冬冬看个精光而有希望与他们分享自己想给他们看的冬冬?
如果你遇到过以上问题而到现在还没有解决,那么你就可以接着往下阅读了.我相信我可以解决你的难题!
首先
请先确定你想设置的计算机系统为GUN/Linux,你在你想设置的计算机系统中拥有管理员权限或拥有可以使用sudo命令的账户.
在Linux中使用终端命令行远比图形界面要好用而省力,所以本文章全部都是在终端中进行.
个别命令在Unix系统或Mac OS X Leopard 10.5中也可使用,如果这行命令在Unix或Mac Os X Leopard 10.5中也可使用,我会在命令的最后进行标注.
好了,现在请打开你的终端.
首先输入 su 然后输入你的管理员账户密码,如果你是使用 sudo 那么请输入 sudo su 然后输入你的账户密码登录. [Linux/Unix/Mac]
等待命令提示符变成#然后进行下面的操作.
进入你想共享的文件夹,最好是在 /home 目录下,这样比较善于管理.如果你还没有专门用来共享的文件夹,那么你可以建立一个.
进入你想建立共享文件夹的目录. cd 路径 命令可以帮助你去任何你想去的目录,比如 cd /var/www 就是进入根目录下的var文件夹里的www文件夹里.如果你不知道你想去的目录名字,你可以 cd / 进入根目录,然后输入 ls 命令,查看根目录里的所有文件夹名,然后在用 cd 命令进入你想要去的文件夹 [Linux/Unix/Mac]
cd .. 可以让你返回上一级目录,比如你在/var/www目录中,输入 cd .. 就会返回到var目录中,如果输入 cd …/blog/ 则会进入 /var/目录里的blog文件夹. [Linux/Unix/Mac]
输入 mkdir 你想建立的共享文件夹的名字,比如 mkdir sharing [Linux/Unix/Mac]
好了,建立好共享文件夹了.但是这个文件夹是用管理员账户建立的,在普通账户登录的图形界面中并不能直接访问或修改,拷贝修改文件的时候会很麻烦.所以我们要修改一下这个共享文件夹的权限,使你在图形界面中也可以访问修改其中的文件.
chown是用来修改文件或者文件夹的所有者与所有组的命令.如果你的用户名是 jack ,你的共享文件夹目录是/home/sharing/ 那么你就可以输入 chown jack /home/sharing 这个命令是把sharing文件夹的所有者换成是jack这个用户的.换了用户之后还需要增加这个用户对文件夹的读写权限,输入 chmod + 700 /home/sharing ,好了,你现在对这个文件架有完全的权限了.现在就把你想共享给朋友和家人的数据放进来吧.
放好想要共享的数据之后,就可以给你的朋友或家人建立一个共享用的账户了.
输入 useradd test ,这样就建立了一个test账户,当然你也可以建立其他名字,比如useradd hello,这样就建立了一个hello账户. 接着为这个账户创建一个密码,输入passwd test回车,然后输入密码回车,在输入一次密码,就为test账户创建好密码了.
然后建立一个组,输入 groupadd testing 这样就建立了一个testing组.然后输入gedit /etc/group 在打开的文本编辑器里找到testing这一行,在后面添加上 test ,然后保存文件,退出编辑器.这样test账户就被添加进testing用户组了.
建立了组有什么好处吗?
比如你在共享文件夹里有一个目录是专门存放电影的,你希望你的朋友或家人可以访问并播放这些电影,但是又不想给他们写的权限,怕他们误删除文件.
比如你放电影的目录是/home/sharing/movie 你就可以输入 chown jack:testing /home/sharing/movie 这样movie目录就可以同时被jack这个账户和testing这个组里的用户访问了,如果你的movie下面还有其他目录,你想一并修改,就在chown后面加 -R参数,-R的意思是修改这个目录及其下面的所有分支目录与文件.比如 chown -R jack:testing /home/sharing/movie 这样movie与movie里面所有的文件与目录都变成 jack账户与testing组用户都可以访问了.
[Linux/Unix/Mac]
然后在输入 chmod 755 /home/sharing/movie 这样jack账户就会拥有movie目录完全的权限,但是testing用户组只有访问和执行的权限了.同样这个命令也可以加-R 来让movie目录下的所有目录和文件同时修改权限. [Linux/Unix/Mac]
当然你可以设置不同组和用户来达到不同的效果,我相信我用又臭又长的超级说明已经能让会登录Linux和打开终端的用户明白怎样设置不同的文件夹赋予不同的访问权限了吧?如果上面说的你已经研究透彻了…那么你可以在学习下面的命令.
ls 列出当前目录中的文件夹和文件
ls -l 查看当前目录的访问权限. 输入ls -l之后一般会出现一行比如 -rw-rw-r–之类的文字,第一段也就是- 后面代表的是类型,中间的-rw代表的是所有者,第三个-rw代表的是组群,最后一个r–代表的是系统内的所有用户.r表示文件可被读,w表示文件可以写,x表示可以被执行 - 表示空.
chmod 修改文件或者文件夹权限的命令
chmod -R 是修改文件架及这个文件夹下属的所有文件和目录的权限
u 代表文件所有者 g代表用户组 o代表除了文件所有者和文件所有组之外的所有账户
a 代表系统内的全部账户
r表示文件可读 w表示文件可写 x表示文件可执行
表示添加 -表示删除
chmod o+w test.txt 就是授予除了文件所有者和所有群之外的所有账户可以写test.txt文件的权限.
chmod go-rw test.txt 就是删除test.txt这个文件的所有者和所有群的读写权限.
当然也可也可以设置目录,比如设置movies目录就是chmod go-rw movies.
chown 是修改文件和文件夹的所有者和所有组.
chown jack:testing movies 就是把movies目录的所有者换成jack,所有组换成testing.注意组的名字前面要加一个:否则系统无法识别…