对于一个非IT专业或者非IT相关工作岗位的人,如果你问他知不知道Linux操作系统?
他大概率会回答没听说过。
但对于一个专业的IT Boy,Linux操作系统的一些基本原理和操作,是必须要掌握的技能。而其中,了解Linux操作系统的用户及权限管理机制是最最基础的部分。
下面介绍下Linux操作系统用户及用户组、权限管理机制以及用户及权限相关命令和使用示例。
在Linux操作系统中,每个用户都是通过用户名和密码进行身份验证的。
用户分为两类:系统用户和普通用户。系统用户用于运行系统服务和进程,而普通用户用于日常操作。普通用户可以使用系统用户进行创建。
比如,Linux系统有个超级管理员用户root。它具有操作系统的最高权限。可以使用root用户创建其他普通用户。
每个用户都有一个唯一的用户ID(UID)来标识其身份。用户还可以根据需要将用户成用户组,用户组是一组用户的集合。
Linux操作系统中,每个文件和目录都有相应的权限,控制着用户对其进行读取(r)、写入(w)和执行(x)的权限。
权限的角色划分主要分为三类:所有者权限、用户组权限和其他用户权限。
所有者权限适用于文件或目录的所有者,用户组权限适用于所属用户组的成员,其他用户权限适用于其他用户。
作为一个非所有者用户,如果想获取文件或目录的操作权限,可以通过加入某个用户组,再为这个用户组赋予需要的权限,从而间接为这个非所有者用户赋权。
1. 创建用户和用户组
创建用户:useradd username
创建用户组:groupadd groupname
2. 设置用户密码
设置用户密码:passwd username
3. 添加、删除用户到用户组
添加用户到用户组:usermod -a -G groupname username
从用户组中删除用户:gpasswd -d username groupname
4. 更改文件和目录的所有者和权限
更改文件所有者:chown owner file
更改文件所有者和所属用户组:chown owner:group file
更改目录下所有文件的所有者和所属用户组:chown -R owner:group directory
更改文件或目录权限:chmod permissions file/directory
5. 查看用户信息和权限
查看所有用户:cat /etc/passwd
查看所有用户组:cat /etc/group
查看当前用户信息:id
查看文件或目录权限:ls -l file/directory
下面的示例代码首先创建一个名为"myuser"的用户,然后为用户设置密码,并将其添加到用户组"developers"中,最后设置文件"testfile.txt"的所有者为"myuser",同时将访问权限限制为所有者读写、其他用户无任何权限:
useradd myuser
passwd myuser
groupadd developers
usermod -a -G developers myuser
chown myuser testfile.txt
chmod 600 testfile.txt