关注【郑大钱呀
】【公】【众】【号】,我们一起交流,一起学习。
1.1 用户创建
在我们工作中,使用Linux操作系统的时候,我们一般都讲,用户的权限够用就好
,我们刚开始在使用Linux的时候,一般都是使用管理员用户
,即root
用户,但是root用户的权限太大了,我们平时在工作中使用不到这么大的权限,反而如果误操作,还可能造成不必要的麻烦,这个时候,我们就可以创建一个日常使用的普通用户,来供我们使用。
示例1:创建用户并设置密码
[root@iZ8vb15btme7rdyvwu43dyZ study]# useradd linlang1
[root@iZ8vb15btme7rdyvwu43dyZ study]#
[root@iZ8vb15btme7rdyvwu43dyZ study]# passwd linlang1
更改用户 linlang1 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@iZ8vb15btme7rdyvwu43dyZ study]#
1.2用户删除
如果我们在工作中,比如有人离职了,不用这个账户了,这个时候需要我们将账户删除。
示例1:删除用户
[root@iZ8vb15btme7rdyvwu43dyZ study]# userdel -r linlang1
[root@iZ8vb15btme7rdyvwu43dyZ study]#
当删除用户时,建议加上参数 -r
,如果不加的话,即使用户删除了,但在/home目录下的用户文件依然会存在
,就会导致无法再次添加同名用户。
1.3 切换用户命令(su)
我们在实际的工作中,经常要在几个账户之间进行切换,我们可以退出终端,然后再输入要切换的账户登录,但是这样就显得比较麻烦,在Linux中提供了su
命令,可以快捷的切换系统用户。
示例1: 管理员用户切换成普通用户
(base) [root@iZ8vb15btme7 ~]# su linlang
[linlang@iZ8vb15btme7 root]$
由于我们是从管理员用户切换成普通用户,所以无需输入密码就可切换。
示例2:从普通用户切换成管理员账户
[linlang@iZ8vb15btme7rdyvwu43dyZ root]$ su root
Password:
(base) [root@iZ8vb15btme7rdyvwu43dyZ ~]#
由于我们是从普通用户切换成管理员用户,所以需要输入密码。这里我们补充一下su
和su -
的区别,前者切换的时候,只是会切换用户的身份,但是不会切换相关用户的环境,而后者用户和环境都会一起切换掉
。
1.4 文件权限描述
当我们登录Linux的操作系统的时候,Linux会对当前的用户进行认证、授权等操作,并会给每个用户定义一个用户标识(UID)和用户组标识(GID),我们都知道在Linux系统中root用户是超级管理员用户,拥有最高的权限,能执行任何命令和操作,而其他的用户都属于普通用户
。在Linux系统中,文件的权限一般分为三类:第1种为文件的所有者
,即文件的创建人,第2种为:与文件所有者,在同组的用户
。当你既不是用户的所有者,也不与所有者同组的时候,你就是第3类,即其他用户
。我们首先看下在Linux系统中我们是怎么描述一个文件的权限的。
示例1:解读文件的权限描述
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll
总用量 16
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang1
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang2
drwxr-xr-x 2 root root 4096 8月 8 15:44 linlang3
-rw-r--r-- 1 root root 0 8月 14 16:41 linlang.txt
drwxr-xr-x 2 root root 4096 8月 8 15:44 plus
每一行记录都表示一个文件或者目录,每一行的第一部分就表示该文件或目录的权限,比如第一行的drwxr-xr-x
,但是它们到底代表着啥意思呢,我们把它拆分成四个部分,一一说明
d
:d
为第一部分,表示这是一个目录
,如果是文件的话,则为-
rwx
:第二部分,表示这个文件或目录的所有者,所拥有的权限
,这里的rwx,分别表示可读®、可写(w)、可执行(x)的权限r-x
:第三部分,表示这个文件或目录的所有者所在组中的用户所具有的的权限
,和上面不一样的是,这里多了一个"-",这表示没有对应的权限,这里即为没有写的权限。r-x
:第四部分,表示其他用户所具有的权限,即该用户即不是文件或目录的所有者也不和所有者在同一组里的用户,所拥有的权限
我们这里总结一下,一个文件的权限分为四个部分:文件类型
、所属者权限(user)
、所属组权限(group)
、其他用户权限(other)
,而每个部分的权限又有三个部分组成,即可读
、可写
、可执行
,如果不具有对应的权限,则使用-
表示,在Linux中,每个权限都对应者一个分值,即可读-4
,可写-2
,可执行-1
,那么这个分值有什么作用呢?主要可以用来修改文件的权限。
1.5 文件赋权(chmod)
我们在工作中会经常碰到,没有某个文件的某些权限,比如没有脚本的执行权限,这个时候我们可以通过使用chmod
命令对文件重新赋权,让我们当前的用户具有我们想要的权限,chmod
赋权的方式主要有三种。
示例1:为所属者增加可执行的权限
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll linlang.txt
-rw-r--r-- 1 root root 0 8月 14 16:41 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# chmod u+x linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll linlang.txt
-rwxr--r-- 1 root root 0 8月 14 16:41 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]#
我们从上面的代码中看出,linlang.txt
文件的所有者拥有的权限是rw-
,没有可执行的权限,这个时候我们可以使用chmod u+x linlang.txt
为其增加执行的权限,其中的u就表示user,即所属者
,如果是所属者就是g
,如果是其他用户则是o
。这里的加号(+)表示的是在之前权限的基础之上增加执行的权限,如果是减号(-)则表示在之前的基础上,删除对应的权限,如果是等号(=),则会覆盖之前的权限
,比如之前的权限是rwx
,当你执行完,chmod u=x xx.txt
命令之后,此时的权限就变成了--x
,他就只有可执行的权限了。
示例2:通过数值为用户赋权限
我们上面说过,一个文件一般都有三种权限,可读®、可写(w)、可执行(x),每一种权限又有数值与其相对应,即可读权限对应着4,可写权限对应着2,可执行权限对应着1,这里再补充一下,无权限对应着数值0
,在使用的时候我们如何用呢,我们先看一个示例。
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll linlang.txt
-rwxr--r-- 1 root root 0 8月 14 16:41 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# chmod 677 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll linlang.txt
-rw-rwxrwx 1 root root 0 8月 14 16:41 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]#
我们这里有一个名为linlang.txt
文件,它最初的权限是-rwxr--r--
,当我们执行完chmod 677 linlang.txt
命令后,权限就变成了-rw-rwxrwx
,那这个命令中的数值677
是啥意思呢,其实这是对应着文件权限的三个部分
,第一个位置6对应着所有者权限,第二个位置7对应着所属组的权限,第三个位置对应着其他用户的权限,那么我们怎么知道6对应着哪些权限呢,在可读可写可执行权限中有三个数值(4、2、1),如果要想组成6就只能是4+2
,由于我们知道4为可读权限,2为可写权限,所以我们就可以得出,6为用户赋予的是可读可写的权限,7也是同理。
结尾
本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,谢谢。