Linux 学习笔记--用户及文件权限管理

用户以及文件权限管理

查看用户

$ who am i 
# 或者
$ who mom likes

查看用户

输出的第一列表示打开当前终端的用户的用户名。如果你想获取当前登录用户的用户名,可以取消空格用whoami命令就可以直接获取。

$ whoami

为了不污染本地环境的内容,下面的实验在实验楼完成。大家可以无需安装Linux环境,直接在这个网站操作,相当便利的一个学习网站。

创建用户

在Linux系统里,root 帐户拥有整个系统至高无上的权利。它可以改动系统的核心组件,如果自己使用root帐户,有可能不小心将系统的某些关键文件删除,以致系统崩溃。而且,长期使用root用户会增加你的电脑被别有用心的人攻击的可能性。所以,大部分的Linux系统在安装时都会建议用户新建一个用户而不是直接 使用root用户进行登录。

现在我们新建一个用户。

$ sudo adduser lilei

然后输入确认密码,其它都可以直接默认。这样我们就创建了一个名为 lilei 的用户。
创建用户 lilei

这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录
我们使用ls /home 查看home目录下的内容,发现确实有 lilei 目录的存在。
ls /home

现在我们已经有 lilei 这个用户了,我们可以使用下面这条命令进行登录。

$ su -l lilei

su -l

输入密码,我们就可以使用lilei这个用户了。下面验证一下。
verify
我们可以看到,who am i 输出的用户依然是shiyanlou,而whoami输出的用户已经变成了lilei
因为打开这个终端的依旧是shiyanlou,但是当前登录的用户是lilei

用户组

在Linux里面每一个用户都有一个用户组,用户组就是一组用户的集合,它们可以共享一些资源和权限,同时拥有私有资源和权限。
可以把它理解成 类的 protected属性 和 private属性。

有两种方式可以查看自己属于哪些用户组。

方法一:使用 groups 命令

$ groups shiyanlou

groups
其中冒号之前表示用户,后面表示用户所属的用户组。可以看到 shiyanlou 用户属于 shiyanlou 用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。

*方法二:查看/etc/group文件 *

$ cat /etc/group | grep "shiyanlou"


/etc/group 的内容包换用户组(Group)、用户组口令、GID(组ID)及该用户组所包含的用户(User),每个用户组一条记录。

$ group_name:password:GID:user_list

这里的 password 字段是一个x,表示密码不可见。
这里需要注意,如果用户的GID等于用户组的GID,那么user_list就是空的。比如 shiyanlou 用户的用户组是 shiyanlou, 那么在 /etc/group 中的 shiyanlou 用户组后面不会显示。

将其它用户加入 sudo 用户组
默认情况下新创建的用户是没有 root 权限的,也不在 sudo 用户组,但是我们可以让其加入 sudo 用户组从而获取 root 权限。

$ sudo usermod -G sudo lilei

可以看到,此时 lilei 已经是 sudo 组的用户了。

删除用户和用户组

$ sudo deluser lilei --remove-home

使用 --remove-home 参数删除用户会将该用户的工作目录一并删除。如果不使用系统会保留该工作目录。

删除用户组可以使用 groupdel 命令,但是必须先删除这个用户组下的所有用户后,否则删除失败。

查看文件权限

相信 ls 这个命令大家已经不陌生了,它可以列出并显示当前目录下的文件。

使用较长格式列出文件:

$ ls -l

这里是每一列所代表的含义。

文件类型和权限

列出所有文件,包括隐藏文件

$ ls -a

其它常用命令

  • 查看某一个目录的完整属性,而不是显示目录里面的文件属性
    $ ls -dl <目录名>
  • 显示所有文件大小
    $ ls -asSh

变更文件所有者

现在我们在lilei这个用户创建一个iphone11的文件

可以看到这个文件是所有者是 lilei。我们可以使用 chown 来改变文件的所有者

$ sudo chown shiyanlou:shiyanlou <文件名>

可以看到这时 iphone11 这个文件的所有者是 shiyanlou 这个用户了。

修改文件权限
每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他 用户。 文件的读写执行对应字母rwx。用十进制表示。读为4,写为2,执行为1。
当然也可以使用加减赋值操作。g、u、o分别分别表示 group(用户组)、user(用户)和others(其他用户)。+ 和 - 分别表示增加和去除相应的权限。
有时候我不想除了我之外的人读取写入操作文件,我们可以使用 chmod 命令来修改文件权限。

  • 方式一:

    $ chmod 600 <文件名>
  • 方式二:

    $ sudo chmod go-rw <文件名>

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!