《树莓派开始,玩转Linux》Linux部分学习记录(三)用户管理、文件权限

第18章 我的地盘我做主

Linux是一个多用户的操作系统,必须要考虑到用户隐私和权限问题。
可以通过下面的命令来找出自己的身份:

$who am i

命令who可以返回所有的登录用户:

$who

在Linux中可以用文本形式的用户名来指代一个用户。比如,命令write可以用来给同一个系统下其他用户发消息。比如用户anna发信息给用户lvor:

$echo "Where is your draft?" | write lvor

echo后面用双引号包裹是为了提醒echo双引号内文本是一个完整的文本,避免根据空格拆分为多个参数。
用户不仅是一个单个个体,同时还是一个用户组的成员。可以用groups命令来查找用户所属的组:

$groups

将返回自己所属的组。

$groups anna

将返回anna所属的组。
在机器底层,会用一个数字来代表用户身份,包括用户ID(UID)和组ID(GID)。可以用id命令来找到用户的UID和GID。
$id pi
二、root和用户创建
Linux中有一个特殊的root用户,是系统中的神级用户,拥有非常高的权限。如果知道root账户,可以使用su命令来切换成root用户:

$su

root用户可以做很多普通用户做不到的事,比如监听1024以下端口、改变文件的拥有者等。由于root用户权限很高,用户应该避免直接使用root账户进行操作,从而避免一些不可挽回的误操作。比如删除根目录。

$rm -r /

为了避免类似灾难,Linux引入了sudo,可以临时以root身份来执行命令。以用户据pi为例:

$cat /etc/shadow

shell会提示禁止查看。如果以sudo运行相同命令:

$sudo cat /etc/shadow

输入pi的密码,因为pi有权进行sudo,所以cat会以root身份执行。
还可以创建新用户:

$sudo adduser tommy

使用su命令切换成用户tommy:

$su tommy

删除用户:

$sudo deluser --remove-home tommy

创建用户组:

$sudo groupadd genius

删除用户组

$sudo groupdel genius

三、用户信息文件
Linux的用户信息文件保存在/etc/passwd中。通过这个文件,你可以对操作系统中的用户和组进行总览。我们之前对用户的操作,本质上也是修改/etc/passwd文件。
在/etc/passwd中每一行代表一个用户,每一行用冒号分为7个部分:
用户名:密码:UID:GID:描述:用户目录:登录shell
其中还包含一些伪用户,如mail,当操作系统调用电子邮件相关程序时就会用到该伪用户。
同样的,用户组的信息,也都保存在/etc/group中。这个文件每一行用冒号分割成了4段信息。
组名:组密码:GID:用户列表
四、文件权限
在Linux系统中,文件的附加信息包含了权限信息。用ls查询文件详情:

$ls -l file.txt

返回结果如下:
-rw-r--r-- 1 pi pi 0 3月 22 18:46 file.txt
第一部分:-rw-r–r- 文件的类型和权限,分别为文件的拥有者、拥有组、其他人的权限。第一位r表示read,读权限;第三位w表示write,写权限;第三位x表示执行权限。没有权限则用-表示。
五、文件权限管理
我们可以用chown命令来改变文件的拥有者和用户组:

$sudo chown anna:anna file.txt

该命令把文件的拥有组改为用户anna,拥有组改为anna组。
用chmod来改变文件权限标志:

$sudo chomd 755 file.txt

更改之后文件权限变为:
rwxr-xr-x
Linux‘规定,4为读取权,2为写入权,1为执行权(按二进制排列和此前介绍的文件权限顺序一致),权限之间可以相加,表示拥有多种权限。如5是4和1的和,表示拥有读取和执行权限。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值