在学习linux 的文件与目录权限之前,应该去了解一下拥有者、群组、其他人的概念。在这里就不多说了。直入正题。
一、文件属性 可用 ls -al查看
drwxr-xr-x. 2 root root 4096 4月 14 16:02 zhang_123
第一栏代表这个档案的类型与权限 [d]则是目录,[-]是文件,[l]是连结档。
接下里的字符中,以三个为一组,且均为[rwx]的三个参数。第一组为档案拥有者的权限,第二组为同群组的权限,第三组为其他非本群组的权限。
第二栏表示有多少档名连结到此节点。
第三栏表示这个档案的拥有者账号。
第四栏表示这个档案的所属群组。
第五栏为这个档案的容量大小,默认单位为bytes。
第六栏为这个档案的建档日期或者是最近修改的日期。
第七栏为这个档案的档案名。
二、更改权限
chown 更改文件权限 (前提是拥有者存在在/etc/passwd文件里)
chgrp 更改用户所在的组 (前提是组也要在/etc/group里)
chmod -R (遍历所有文件全部改权限) 更改文件权限 只有是文件的拥有者才可以更改
三、通过普通用户更改root用户的权限(举例说明,从别处复制过来的)
赋予root权限
方法一: 修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
方法二: 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
方法三: 修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash
tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存,用tommy账户登录后,直接获取的就是root帐号的权限。
四、文件命令权限的总结
代表字符 权限 对文件的含义 对目录的含义
r 读权限 可以查看文件内容 可以列出目录中的内容
w 写权限 可以修改文件内容 可以在目录中创建、删除文件
x 执行权限 可以执行文件 可以进入目录
如果你在某目录下不具有x权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何指令。即使你具有该目录的r权限。
要开放目录给人浏览时,应该至少也要给予r及x的权限。
当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限, 但并不具备有删除该文件本身的权限!对于文件的rwx来说, 主要都是针对『文件的内容』而言,与文件档名的存在与否没有关系喔!因为文件记录的是实际的数据嘛!
五、linux下的重要目录文件
/usr/bin、/bin:存放所有用户可以执行的命令
/usr/sbin、/sbin:存放只有root可以执行的命令
/home:用户缺省宿主目录
/proc:虚拟文件系统,存放当前进程信息
/dev:存放设备文件
/lib:存放系统程序运行所需的共享库
/lost+found :存放一些系统出错的检查结果
/tmp:存放临时文件
/etc:系统配置文件
/var:包含经常发生变动的文件、如邮件、日志文件、计划任务等。
usr:存放所有命令、库、手册页等。
/boot:内核文件及自举程序文件保存位置。
/mnt:临时文件系统的安装点。