Linux中每个文件的权限都分为三部分:所有者、所有者所在组其他用户、其他组用户
基本概念
用户组
Linux中,所有的用户都必须属于一个组
所有者
文件的所有者一般是文件的创建者
文件所在组
文件所在组与文件所有者所在的组相同
文件权限
使用命令 ls -l
显示的内容中符号的含义:
- 第一个字符代表文件(-),目录(d),链接(l)
- 接下来的九个字符每三个一组,代表读(r),写(w),执行(x)
- 第一组是文件所有者的权限
- 第二组是文件所有者所在组其他用户的权限
- 第三组是其他组用户的权限
- 权限也可用数字表示:r = 4,w = 2,x = 1,实际上分别对应着二进制的一位
- 接下来的数字表示连接的文件数
- 后面的两个字符串分别对应文件所有者和文件所有者所在组
- 在后面的数值表示文件的大小(以字节为单位)
- 然后是最后一次修改日期
- 最后的字符串表示文件名
举例:
-rwxr-xr-x 1 root root 437 12月 2 09:53 filename
含义:
- 一个文件
- 所有者的权限为读写和执行,所有者所在组的其他用户和其他组的用户的权限都为读和执行
- 文件所有者为root
- 文件所有者所在的组为root
- 大小为437B
- 最后一次修改在12月2日9点53分
- 文件名为filename
查看文件详细信息
ls -l
命令可以查看文件的详细信息ls -ahl
命令可以查看所有文件(包括隐藏文件)的详细信息
更改文件权限
- 第一种形式
chmod 755 filename
表示给文件filename加上rwxr-xr-x的权限
- 第二种形式
- 在这种形式中,u代表所有者权限(用户权限),g代表所有者所在组其他用户权限(组权限),o代表其他组用户权限,a代表所有用户权限
+
代表加入权限,-
代表去除权限,=
代表设置权限chmod u=rwx,g=rx,o=rx filename
也可以写为chmod u=rwx,go=rx filename
更改所有者和用户组
- 更改所有者
chown username filename
将文件filename的所有者改为用户username
- 更改所在组
chgrp groupname filename
将文件filename所在组改为组groupname
- 还可以加上
-R
参数表示递归地进行更改(对目录)
増删用户
- 添加用户
adduser username
添加用户usernamepasswd username
为用户username设置密码
- 删除用户
userdel username
删除用户username
用户组操作
- 添加组
groupadd groupname
增加组groupname
- 删除组
groupdel groupname
删除组groupname
- 更改用户所在组
usermod -g groupname username
将用户username更改到组groupname下