在Linux
中我们可以使用ll
或者ls -l
命令来显示一个文件的属性以及文件所属的用户和组。
一、用户
1.1、新增用户
- useradd luckyboy
- 会创建同名的组和家目录
1.2、设置密码
- passwd luckyboy
1.3、删除用户
- userdel -r luckyboy
- 级联删除家目录和组
1.4、修改用户信息
- usermod -l luckyss luckyls 修改用户名 家目录和组名称是不会被修改的
- usermod -L luckyss 锁定用户名
- usermod -U luckyss 解锁用户名
1.5、常用文件
- cat /etc/shadow 用户名和密码
- cat /etc/passwd 用户名,编号,组编号,家目录,命令,目录 6.5系统0-499 普通 500+ 7.6系统0-999 普通 1000+
1.6、切换账户
- su luckyboy
二、组
2.1、创建组
- groupadd lucky
2.2、删除组
- groupdel lucky
2.3、修改组名称
- groupmod -n school lucky
2.4、查看用户对应的组
- groups
- groups schoolboy
- 当我们创建用户的时候,会默认创建一个同名的主组
2.5、修改用户的组
- usermod -g lucky schoolboy (主组)
- usermod -G lucky schoolls (附属组)
三、权限
3.1、查看文件权限
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root police 1213 Feb 2 09:39 abc.txt
- 0-9位说明
- 第0位确定文件类型(说明: -:普通文件, d:目录,l : 连接文件, c: 字符设备文件[键盘,鼠标] b:块设备文件[硬盘] )
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。R: 读 , w : 写权限 x: 执行权限
- 第4-6位确定所属组(同用户组的)拥有该文件的权限
- 第7-9位确定其他用户拥有该文件的权限
- 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录
- 1213: 表示文件大小,如果是目录,则统一为 4096
3.2、rwx权限详解
rwx作用到文件(重要)
- [ r ]代表可读(read): 可以读取,查看
- [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
- [ x ]代表可执行(execute):可以被执行
rwx作用到目录(重要)
- [ r ]代表可读(read): 可以读取,ls查看目录内容
- [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
- [ x ]代表可执行(execute):可以进入该目录
3.3、ls -l 文件目录权限解析案例
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
- 第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
- 其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)
- 第一组rwx : 文件拥有者的权限是读、写和执行
- 第二组rw- : 与文件所在组的用户的权限是读、写但不能执行
- 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7
1
文件:硬连接数或 目录:子目录数
注:关于软硬连接创建的可以看这篇文章的第10点: Linux的文件操作命令详解_向上的狼的博客-CSDN博客root
用户root
组1213
文件大小(字节),如果是文件夹,显示 4096
字节Feb 2 09:39
最后修改日期abc
文件名
3.4、修改UGO模型
- 三组权限
- 属主的权限:属组的权限:其他的权限 所有说:
- 将来修改文件的权限 可以从rwx和ugo两个方面进行修改
3.5、修改文件的权限
3.5.1、chmod改变权限
- 第一种方式:
+
、-
、=
变更权限
注:u
:所有者 g
:所有组 o
:其他人a
:所有人(u
、g
、o
的总和)
chmod u=rwx,g=rx,o=x 文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】
chmod o+w 文件、目录 【表示:给其它用户增加w 的权限】
chmod a-x 文件、目录 【表示:给所有用户 去掉 x权限】
示例
给abc
文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u=rwx, g=rx ,o=rx abc
给abc
文件的所有者除去执行的权限,增加组写的权限
chmod u-x, g+w abc
给abc
文件的所有用户添加读的权限
chmod a+r abc
- 第二种方式:通过数字变更权限
数字代表的权限:r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件、目录
## 相当于
chmod 751 文件、目录
示例
将 abc.txt
文件的权限修改成 rwxr-xr-x
, 使用给数字的方式实现:
chmod u=rwx, g=xr, o=xr abc.txt
chmod 755 abc.txt
3.5.2、chown 改变所有者
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
示例
修改文件所有者
chown tom houge.txt
递归改变文件所有者和所有组
chown -R tom:leader home/
3.5.3、chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
chgrp newgroup file 改变文件的所有组
示例
请将/home/abc .txt
文件的所在组修改成 shaolin (少林)
chgrp shaolin /home/abc.txt
请将 /home/kkk
目录下所有的文件和目录的所在组都修改成 shaolin
(少林)
chgrp -R shaolin /home/kkk