Linux 学习笔记--用户及文件权限管理
用户以及文件权限管理
查看用户
$ who am i
# 或者
$ who mom likes
输出的第一列表示打开当前终端的用户的用户名。如果你想获取当前登录用户的用户名,可以取消空格用whoami
命令就可以直接获取。
$ whoami
为了不污染本地环境的内容,下面的实验在实验楼完成。大家可以无需安装Linux环境,直接在这个网站操作,相当便利的一个学习网站。
创建用户
在Linux系统里,root 帐户拥有整个系统至高无上的权利。它可以改动系统的核心组件,如果自己使用root帐户,有可能不小心将系统的某些关键文件删除,以致系统崩溃。而且,长期使用root用户会增加你的电脑被别有用心的人攻击的可能性。所以,大部分的Linux系统在安装时都会建议用户新建一个用户而不是直接 使用root用户进行登录。
现在我们新建一个用户。
$ sudo adduser lilei
然后输入确认密码,其它都可以直接默认。这样我们就创建了一个名为 lilei 的用户。
这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home
目录下创建一个工作目录
我们使用ls /home
查看home目录下的内容,发现确实有 lilei 目录的存在。
现在我们已经有 lilei 这个用户了,我们可以使用下面这条命令进行登录。
$ su -l lilei
输入密码,我们就可以使用lilei这个用户了。下面验证一下。
我们可以看到,who am i
输出的用户依然是shiyanlou
,而whoami
输出的用户已经变成了lilei
。
因为打开这个终端的依旧是shiyanlou
,但是当前登录的用户是lilei
。
用户组
在Linux里面每一个用户都有一个用户组,用户组就是一组用户的集合,它们可以共享一些资源和权限,同时拥有私有资源和权限。
可以把它理解成 类的 protected
属性 和 private
属性。
有两种方式可以查看自己属于哪些用户组。
方法一:使用 groups 命令
$ groups shiyanlou
其中冒号之前表示用户,后面表示用户所属的用户组。可以看到 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 <文件名>
本作品采用《CC 协议》,转载必须注明作者和本文链接