Linux命令权限 用户权限 组权限 文件、目录权限

时间:2021-11-22 15:22:25

Linux命令的格式是:
命令+选项+参数

命令是必须存在的,选项和参数可以不必存在,不写的情况是有默认的参数

Linux 一切皆文件

对于文件而言,只需要对文件进行读写就可以实现对文件内容内容的增删改查

对于存在在磁盘上的文件而言,当编辑器需要对文件操作时,编辑器将文件的内容全部读入内存,文件的修改是发生在内存中,当文件保存时,是内存中的文件把原来磁盘上的内容覆盖。

一、Linux的权限管理

1.1 新建用户natasha,uid为1000,gid为555,备注信息为“master”

如果直接操作useradd -u 1000 -g 555 -d /Nature -c 'master' natasha,会报错错误信息的问题是添加gid 555的时候会出现问题,原因是没有组

所以用groupadd natasha 新建natasha组,在这一步中,通过 -d命令设置家用户的位置是 /Nature

Linux命令权限 用户权限 组权限 文件、目录权限

在接下来的操作中没有用 -g 命令报错 ,提示添加 -g命令 useradd -u 1000 -d /Nature -c 'master' natasha,

由于之前已经新建了别的用户,uid 1000已经被占用,所以设置成UID=1004

1.2 查看用户信息配置文件

用户信息配置文件存放在 /etc/passwd

通过tail -1 /etc/passwd查看最后一行,是通过参数 -1来实现的

tail -n 显示最后 n行的内容

Linux命令权限 用户权限 组权限 文件、目录权限

1.3 为新建的用户natasha设置密码 123

通过echo命令将123通过管道输出,由 --stdin作为接收,将natasha的用户密码就可以更改为123

$ echo  123 | passwd --stdin   natasha

Linux命令权限 用户权限 组权限 文件、目录权限

1.4 用户的密码文件存放在 /etc/shadow

通过tail -1 /etc/shadow 查看最后一行密码

Linux命令权限 用户权限 组权限 文件、目录权限

1.5 用户是否允许登录

1.5.1 修改用户配置文件

用户是否允许登录可以在 /etc/passwd 用户配置信息中查看,这里面一共有7段信息,最后一段是是否允许登录

通过cat命令查看可以看到,配置是/bin/bash,此时是允许登录的,当修成/sbin/nologin就能将用户锁定,不能登录

Linux命令权限 用户权限 组权限 文件、目录权限

当切换用户的时候,弹出信息无法登录

Linux命令权限 用户权限 组权限 文件、目录权限

解锁用户

将配置文件中重新改回

Linux命令权限 用户权限 组权限 文件、目录权限

1.5.2 命令锁定 解锁

passwd -l natasha 锁定用户 lock

这条命令必须是在root用户下才能执行

Linux命令权限 用户权限 组权限 文件、目录权限

passwd -u natasha 解锁用户 unlock

Linux命令权限 用户权限 组权限 文件、目录权限

1.6 新建用户组

groupadd -g 1999 police新建组是在root用户下才能添加

Linux命令权限 用户权限 组权限 文件、目录权限

1.6.1 组的配置文件

组的配置文件位于 /etc/group

Linux命令权限 用户权限 组权限 文件、目录权限

1.6.2 修改组的成员

tail -1 /etc/group 显示group的最后一行,分为四段,最后一段代表组内的成员,通过 vi 添加natasha

Linux命令权限 用户权限 组权限 文件、目录权限

修改成功后natasha的id

Linux命令权限 用户权限 组权限 文件、目录权限

1.7 修改用户组组名

groupmod -n 新的用户名 原有的用户名,通过查看gid可知,police的组名已经改成jingcha,但是gid没有变

Linux命令权限 用户权限 组权限 文件、目录权限

1.8 删除用户

在删除用户前,可以通过查看用户的家目录,邮件都是存在的

Linux命令权限 用户权限 组权限 文件、目录权限

使用userdel -r命令就可以删除用户的家目录以及所有的文件,-r是递归删除的意思,就是能从逐级删除目录和子目录、子文件

实际操作中,命名返回信息,正在由进程使用,通过who没有查看到natasha用户,用kill -s 9 进程号

重新登录root,再执行命令后删除natasha的所有文件

Linux命令权限 用户权限 组权限 文件、目录权限

1 .9 删除组

groupdel 组名

Linux命令权限 用户权限 组权限 文件、目录权限

二、文件权限

2.1 文件权限

ls -l == ll

Linux命令权限 用户权限 组权限 文件、目录权限

2.2 修改其他用户的权限

Linux命令权限 用户权限 组权限 文件、目录权限

2.3 修改同组的人没有读写权限

2.4 数字方式修改权限

r = 4

w = 2

x = 1

文件全部都有权限

Linux命令权限 用户权限 组权限 文件、目录权限

三、通过操作文件 新建用户

3.1 新建目录

通过chown tom group1 /test/dir 改变原来dir的主和组

Linux命令权限 用户权限 组权限 文件、目录权限

3.2 新建Jake用户

此时在/test/dir 下面新建一个文件123.txt ,通过echo向123.txt追加信息,切换另一个终端,登录Jake用户

Linux命令权限 用户权限 组权限 文件、目录权限

下面是/test/dir/123.txt的权限,对于其他用户来说,是可读的

Linux命令权限 用户权限 组权限 文件、目录权限

登录其他的终端,Jake用户不能对文件进行写操作

Linux命令权限 用户权限 组权限 文件、目录权限

3.3 将一个用户添加到另一个用户组

usermod -G group1 jake

jake 最终添加到group中,通过下图可以看出,在配置文件的group1的子组中已经有了Jake

Linux命令权限 用户权限 组权限 文件、目录权限

3.4 在root用户下可以查看到其他用户的权限是可读的

Linux命令权限 用户权限 组权限 文件、目录权限

通过切换另一个终端,可以看到能够读取

Linux命令权限 用户权限 组权限 文件、目录权限

3.5通过修改/test/dir 目录的权限

当dir的权限是770的时候,通过其他用户是是不能进入,当权限是771的时候能够进入

3.6 改变属主 属组权限

Linux命令权限 用户权限 组权限 文件、目录权限

改变上层文件的权限

Linux命令权限 用户权限 组权限 文件、目录权限

3.7 新建用户并验证其他用户的权限

新建用户rose,切换到rose用户下,验证rose用户对tom.txt的rwx权限

useradd rose

su - rose

现在给tom.txt其他用户的权限0,

Linux命令权限 用户权限 组权限 文件、目录权限

通过另一个终端查看rose用户对tom.txt的权限

  • 没有任何权限

Linux命令权限 用户权限 组权限 文件、目录权限

  • 增加读的权限

Linux命令权限 用户权限 组权限 文件、目录权限

Linux命令权限 用户权限 组权限 文件、目录权限

  • 增加写权限

Linux命令权限 用户权限 组权限 文件、目录权限

在一个终端追加

Linux命令权限 用户权限 组权限 文件、目录权限

在另一个终端中查看,写成功

Linux命令权限 用户权限 组权限 文件、目录权限

3.8 将rose加入group1组

useermod -G group1 rose

Linux命令权限 用户权限 组权限 文件、目录权限

3.8.1 rose 用户的权限

更改tom.txt的其他用户的权限为0

Linux命令权限 用户权限 组权限 文件、目录权限

但是rose用户属于group1组,所以能读写

Linux命令权限 用户权限 组权限 文件、目录权限