1、文件所有者、用户组、其他人
- 文件所有者(user):拥有所有权限
- 用户组(group):设置用户组公共信息共享,用户可以设置个人信息权限,主要作用体现在团队开发中。
- 其他人(others):一般文件权限最低。
- 所有的文件都会设置以上三种身份的权限
linux是一个多用户、多任务系统,经常有多人使用同一台主机进行工作,所以文件权限设置非常重要。
2、文件权限(rwx)
文件是存放数据所在
- r:可读,4(数字为二进制表示对应权限)
- w:可写,2,写入,编辑,新增,修改文件权限,当并不具备删除文件本身的权限
x:可执行,1,进入目录执行文件的权限,如果只有r没有x权限是无法进入目录查看文件的。
3、目录权限(rwx)
目录的主要内容是记录文件名列表,文件名与目录有强烈关联
- r:读取目录结构列表的权限,利用ls可将目录内容列表显示出来
w:具有更改目录结构列表的权限: | 新建新的文件与目录 | | | | —- | —- | —- | | 删除已存在的文件与目录(不论该文件权限如何) | | | | 将已存在的文件或目录进行重命名 | | | | 转移该目录内的文件、目录位置 | | |
x:用户能否进入该目录工作
4、文件属性
// 以root身份登录linux之后,执行ls -al可以查看文件属性[root@www ~]# ls -al // 查看文件属性total 156-rwxr-x--- 4 root root 4096 Sep 8 14:06 install.log[权限] [连接][所有者] [用户组] [文件容量] [修改日期] [文件名]// 第一个字符表示文件属性d:目录-:文件l:连接文件b:可提供存储接口设备c:串行端口,鼠标键盘等一次性读取设备//连接:表示多少文件名连接到此节点
5、改变文件属性与权限
1)chgrp:改变文件所属用户组(被改变的用户组名必须存在/etc/group文件内,否则会报错)
[root@www ~]# chgrp [-R] dirname/filename....// 举例:将install.log的用户组改成users[root@www ~]# chgrp users install.log-R:进行递归,连同子目录下所有文件、目录一起修改
2)chown:改变文件所有者(用户必须时已存在系统,即在/etc/passwd这个文件中有记录的用户名称)
注意:复制文件(cp)会复制文件属性和权限,所以复制文件给其他用户后需要修改文件权限,否则,others可能无法修改这个文件
chown [-R] 账号名称 文件或目录//示例:install.log所有者改为bin这个账号chown bin install.log//示例:install.log所有者与用户组改为rootchown root:root install.log
3)chmod:改变文件的权限
数字类型改变文件权限
Linux文件基本权限有9个,在owner、group、others三种身份中可读、可写、可执行的权限。
三种权限分数对照表:r:4,w:2,x:1
举例:当权限为:[-rwxrwx—-]时
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = —- = 0+0+0 = 0
故设置权限更改时,该文件权限数字为770。
如果要把group改为可读可执行,则group = r-x = 4+0+1= 5;
把others改为可读,则others = r— = 4+0+0 = 4;
更改后的文件权限数字为754。
将.bashrc这个文件权限数字更改为754,更改命令语法为:
chmod xyz 文件/目录chmod 754 .bashrc// 如果要将目录下的所有文件同步修改,则在chmod后面加上[-R]进行递归
- 符号类型改变文件权限
使用u,g,o分别代表user、group、others的权限,a代表all,全部的身份
chmod |
u | +(加入) | r | 文件或目录 |
|---|---|---|---|---|
| g | - (除去) | w | ||
| o | =(设置) | x | ||
| a |
chmod u=rwx,go=rx .bashrc// 设置一个文件权限为"-rwxr-xr-x"// 注意:u=rwx,go=rx连在一起,没有空格。// 三个文件权限不同则写法为:chmod u=rwx,g=r,o=rx .bashrc// 增加权限,示例:所有文件增加写入权限chmod a+w .bashrc// 在+与-的状态下,只要没有指定到的选项,则该权限“不会被变动”
6、一些常用命令
cd 目录/文件夹名 ==>上一级../name,==>下一级===>./namels // 查询目录ll // 查询目录详情mkdir [目录] // 新建目录chmod 744 [目录] // 更改目录权限touch [目录名][文件名] // 新建空文件chmod 600 [目录名][文件名] // 更改文件权限su - vbird // 切换身份为vbird用户[root@www tmp]# su - vbird //此处为#,代表还是root(天神)[root@www tmp]$ // 切换身份后,提示符会变成$cat [文件名] // 查看文件内容
7、Linux目录配置
1)Linux目录配置标准:FHS
| 可分享的(shareble) | 不可分享的(unshareble) | |
|---|---|---|
| 不变的(static) | /usr(软件存放处) | /etc(配置文件) |
| /opt(第三方软件) | /boot(开机与内核文件) | |
| 可变动的(variable) | /var/mail(用户邮件信箱) | /var/run(程序相关) |
| /var/spool/news(新闻组) | /var/lock(程序相关) |
- 可分享的:可以分享给其他系统挂载的目录。
- 不可分享的:自己机器上运行的设备文件或与程序有关的文件,不适合分享给其他主机。
- 不变的:不会经常变动的数据,如:函数库,文件说明文件,主机服务器配置文件等。
- 可变的:经常改变的数据吗,如登录文件等。
- /(root,根目录):和开机系统有关,开机过程仅根目录会被挂载,其他分区是在开机之后持续完成挂载行为。根目录是整个系统最重要目录,所有目录由根目录衍生出来,根目录还与开机、还原、系统修复等操作有关。根目录所在分区越小越好,应用程序所安装软件最好不要与根目录在同一个分区,保持根目录越小越好,这样能保持较好性能,也不容易发生问题,分区越大越容易出现问题。
注意:这五个目录不能与根目录分开放不同区 | /etc | 配置文件 | | —- | —- | | /bin | 重要执行文件 | | /dev | 所需要的设备文件 | | /lib | 执行文件所需的函数库与内核所需的模块 | | /sbin | 重要的系统执行文件 |
/usr(UNIX software reaource):和软件安装/执行有关
- /var(variable):与系统运作过程有关。
