Ubuntu入门(二) 用户权限 文件权限 磁盘管理 连接文件

1.用户权限管理

1.1.用户系统

Ubuntu是多用户系统,使用用户账号的目的一是方便系统管理员(root)管理,控制不同用户对系统的访问权限,另一方面是为用户提供安全性保护。创建好用户后,系统会在目录“/home”下以该用户名创建一个文件夹,所有与其有关的文件都会被存储在该文件夹中。
Ubuntu下用户类型分为3类:

  1. 初次创建的用户,此用户可以完成比普通用户更多的功能。
  2. root 用户,系统管理员,使用sudo su切换到root用户。
  3. 普通用户,安装完操作系统以后被创建的用户。

以上三种每个用户都有一个ID号,称为 UID,操作系统通过 UID 来识别用户。用户相关信息可以在文件/etc/passwd(etc中保存系统管理所需的配置文件)中查看到。从配置文件passwd中可以看到用户名wjq后面有两个数字,第一个是用户ID,另一个是用户GID,即用户组ID。Ubuntu每个用户都属于一个用户组,用户组是一组有相同属性的用户集合。
在这里插入图片描述

1.2.创建用户和用户组命令

  1. 添加用户:adduser 用户名
  2. 用户查询:finger 用户名
  3. 修改用户密码:passwd 用户名
  4. 添加用户组:addgroup 用户组名
  5. 显示组内用户名:groups 用户组名
  6. 删除用户组:delgroup用户组名

1.3.权限管理

Ubuntu的权限就是用户对于系统资源的使用限制情况,root用户拥有最大的权限,可以为所欲为,装系统的时候创建的用户拥有root用户的部分权限,其它普通用户的权限最低。对于嵌入式开发一般不关注用户的权限问题,而是文件的权限问题。
使用命令 “ls -l” 可以查看某个目录下所有文件的权限信息,文件通常有三种权限:读®、写(w)和执行(x),三种权限就可以用3位二进制数来表示,如果该位为1就表示具备此权限。
在这里插入图片描述
上图中第一位表示文件类型:d是目录文件,l是链接文件,-是普通文件,p是管道。
在这里插入图片描述
可以使用a、u、g和o表示文件的归属关系,用=、+和-表示文件权限的变化,如下表所示:
在这里插入图片描述
对于某个test.c,如果想修改其归属用户(wjq)对其拥有可执行权限,可以使用:u+x。如果想设置归属用户及其所在的用户组都对其拥有可执行权限,可以使用:gu+x。

1.4.权限管理命令

  1. chmod:权限修改命令,用于修改文件或者文件夹的权限,权限可以使用前面讲的数字表示也可以使用字母表示。chmod [参数] [文件名/目录名]。
    在这里插入图片描述
    下图中,分别使用chmod 766 xxx和chmod u+x xxx修改文件权限,u是归属用户(wjq),x是可执行权限(r)。
    在这里插入图片描述
    下图中,使用-R参数(递归)对文件夹wjq进行操作,将其中所有文件的权限改为“777”:所有用户和用户组均可读可写可执行。
    在这里插入图片描述
  2. chown:文件归属者修改命令,用来修改某个文件或者目录的归属者用户或者用户组。chown [参数] [用户名.<组名>] [文件名/目录],[用户名.<组名>]表示要将文件或者目录改为哪一个用户或者用户组,用户名和组名用“.”隔开,其中用户名和组名中的任何一个都可以省略。
    在这里插入图片描述
    举例:sudo chown root.root xxx
    将文件归属用户改为 root 用户,所属的用户组也改为 root

2.磁盘管理

2.1.磁盘管理基本概念

在Linux磁盘的分区叫“挂载点”, “挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”。文件/etc/fstab详细的记录了Ubuntu中硬盘分区的情况。
下图中“/was on /dev/sda1 during installation”,意思是根目录“/”是在/dev/sda1上的,“/”是挂载点,“/dev/sda1”就是装Ubuntu系统的硬盘。
在这里插入图片描述
下图打印出所有以/dev/sd开头的设备文件(dev文件夹),sd表示是SATA硬盘或者其它外部设备,最后面的数字表示该硬盘上的第n个分区;如果再插上U盘就可能会出现/dev/sdb,/dev/sdc等。
在这里插入图片描述

2.2.磁盘管理命令

  1. fdisk:磁盘分区命令,fdisk [参数] /dev/sdx。
    在这里插入图片描述
  2. mkfs:格式化命令,使用fdisk创建好一个分区以后,需要对其格式化,也就是在这个分区上创建一个文件系统,mkfs [参数] [-t 文件系统类型] [分区名称]。
    在这里插入图片描述
  3. mount:挂载分区命令,假如U盘就一个分区为/dev/sdb1,需要将/dev/sdb1这个分区挂载到一个文件夹中,然后通过这个文件访问U盘,mount [参数] -t [类型] [设备名称] [目的文件夹]。
    在挂载之前先要创建一个文件夹,一般我们把挂载点放到“/mnt”目录下,在“/mnt”下创建一个tmp文件夹,然后将U盘的/dev/sdb1分区挂载到/mnt/tmp文件夹里面,就可以通过访问/mnt/tmp来访问U盘了。
    在这里插入图片描述
  4. umount:卸载命令,umount [参数] -t [文件系统类型] [设备名称]。
    在这里插入图片描述

3.连接文件

Linux的两种连接文件: 硬连接和符号连接(软连接),硬连接是通过文件系统的inode连接来产生信文件名,而不是产生新文件;符号链接相当于windows下的快捷方式。
inode: 记录文件属性,相当于文件ID,查找文件要先找到inode,才能读出文件内容。
In命令: 用于创建连接文件,ln [选项] 源文件 目标文件。
-s:创建符号连接(软连接)。
不加选项:创建硬连接。
-f:强制创建连接文件。

3.1.硬连接

  1. 硬连接指多个文件指向一个Inode。
  2. 具有相同Inode的多个文件互为连接文件,创建硬连接相当于文件实体多了入口。
  3. 不管修改源文件还是连接文件,另一文件的数据都会被改变。
  4. 给文件创建硬连接可以防止其被误删除。
  5. 硬连接不能跨文件系统,不能连接到目录。

下图中我们对可执行文件创建了两个硬连接文件(使用ln命令),然后使用“ls -li xxx*”查看它们的Inode,发现是相同的;删除源文件后,硬连接文件也能正常执行。
在这里插入图片描述

3.2.符号连接(软连接)

  1. 软连接相当于快捷方式,在嵌入式linux中用的比较多;软连接文件会让数据读取指向它连接的的那个文件的文件名。
  2. 可以连接到目录,可以跨文件系统。
  3. 删除源文件后,软连接文件将无法打开。
  4. 软连接文件可以通过->来指示具体的连接文件。
  5. 软连接最好使用绝对路径,否则移动到其它目录后将不再是快捷方式。

下图中,使用“ln -s”命令使用绝对路径对可执行文件创建了软连接,使用“ls -li”指令查看文件Inode,发现它指向了源文件;使用“cp -d”拷贝快捷方式指令将软连接文件拷贝到其它目录,查看文件还是蓝色,说明软连接文件拷贝成功。
在这里插入图片描述

参考正点原子嵌入式Linux开发指南

发布了8 篇原创文章 · 获赞 23 · 访问量 2217

猜你喜欢

转载自blog.csdn.net/weixin_41898804/article/details/105407850