1、linux中每个用户必须属于一个组,不能独立于组外,在linux中每个文件有所有者、所在组、其它组的概念;
所有者
所在组
其它组
改变用户所在的组
2、ls -ahl
a:显示所有文件包括隐藏文件
h:与-l 一起,以易于阅读的格式输出文件大小
-l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
3、更改apple.txt的所有者
chown 用户名 文件名
chown可以同时更改所有者和所在组
chown 用户名:所在组 文件名
4、组的创建,用户的创建
创建一个组monster,创建一个用户fox,并放入到monster组中;
groupadd monster
useradd -g monster fox
id fox
5、所在组
1)使用fox创建一个文件,查询文件属组;
使用fox用户登陆
先给fox指定密码
passwd fox
2)修改文件所在组
chgrp 组名 文件名
使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在的组,修改到fruit组;
第一步:创建orange.txt文件:touch orange.txt
第二步:创建fruit组:groupadd fruit
第三步:修改orange.txt的属组:chgrp fruit orange.txt
6、改变用户所在组
usermod -g 新组名 用户名
usermod -d 目录名 用户名 改变用户初始的登陆场景 说明:用户需要有进入到新目录的权限;
案例:将zhuangwuji这个用户从原来组修改到wudang
查看当前存在的组:cat /etc/group
7、文件权限
ls -l
-rw-r--r--. 1 root fruit 0 5月 24 10:35 orange.txt
0-9位说明:
第0位:确定文件类型(d,-,l,c,b)
b 块设备,是一些提供系统存取数据的接口设备,例如硬盘。
c 字符设备,是一些串行端口的接口设备,例如键盘、鼠标、打印机、tty终端。
d 目录,类似于Windows的文件夹。
l 链接文件,类似于Windows的快捷方式。
s 套接字文件(socket),用于进程之间的通信。
- 文件,分纯文本文件(ASCII)和二进制文件(binary)。
第1-3位:所有者权限;
r:read(读) w:write(写) x:execute(执行)
r=4 , w = 2 , x = 1
rwx:7
rw-:6
r-x:5
r--:4
-wx:3
-w-:2
--x:1
---:0
rwx作用到文件:
r代表读:可以读取,查看;
w代表可写,可以修改,但是不代表可以删除文件,删除文件的前提是对该文件所在的目录有写权限,才能删除该文件;
x代表可以执行:可以被执行;
rwx作用到目录:
r代表可读:可以读取,ls查看目录内容;
w代表可写,可以修改,对目录内的子目录或者子文件进行创建+删除+重命名目录;
x代表可执行,可以进入该目录;
第4-6位:所在组权限;
第7-9位:others权限;
数字:文件代表硬链接数,目录:代表子目录数量(包括隐藏目录);
代表最后修改日期
修改后日期发生变化
8、修改文件权限
chmod
u:所有者 , g:所有组, o:其他人 , a:所有人
1)chmod u=rwx,g=rx,o=x 文件名/目录名
2)chmod o+w 文件/目录
3)chmod a-x
第一种方式:
案例1:给abc文件的所有着读写执行的权限,给所在组读执行权限,给其它组执行权限;
touch abc.txt
chmod u=rwx,g=rx,o=x abc
文件颜色变成绿色代表有执行权限;
案例2:给abc文件的所有者除去执行权限,增加组的写权限;
chmod u-x,g+w abc.txt
案例3:给abc文件的所有用户添加读的权限;
chmod a+r abc.txt
第二种方式:
数字形式进行更改权限;
将/home/abc.txt文件权限改为 rwxr-xr-x,使用数字方式实现;
chmod 755 abc.txt
9、修改文件所有者--chown
基本语法:
chown newowner 文件/目录 | 改变所有者 |
chown newowner:newgroup 文件/目录 | 改变所有者和所在组 |
-R如果是目录,则使得其下的所有子目录或文件都递归生效 | recursive |
案例演示:
1)将/home/abc.txt文件的所有着修改成tom;
2)将/home/kkk目录下所有文件和目录的所有者修改成tom;
3)不加-R修改kkk的所有者为janice,目录下的所有者并不会发生改变;
10、修改文件/目录的所在组---chgrp
基本语法:chgrp newgroup 文件/目录
案例演示:
1)将/home/abc.txt的文件所在组修改成shaolin;
groupadd shaolin
chgrp shaolin /home/abc.txt
2)将/home/kkk目录下所有的文件和目录的所在组修改成shaolin;
chgrp -R shaolin /home/kkk
3)不加-R的更改,子目录和子文件的所在组不会发生变化;
chgrp shaolin /home/kkk