天天看点

Linux入门笔记5. 多用户多任务

Linux入门笔记5. 多用户多任务

1、用户与组

Linux是一个多用户多任务的操作系统,可以允许多个用户同在系统上执行不同的任务。

Linux的用户一般分为超级用户、普通用户,还有虚拟用户。

用户与组:

把具有相同权限的用户统一到一个组中,可以方便权限的管理。比如有多个用户具有修改数据库的权限,那么可以将他们放在同一个组中,对这个组赋予修改数据库的权限。

用户与组不是一一对应的,一个用户可以存在于多个组中,一个组可以包含多个用户。

2、用户配置文件

/etc/passwd 文件用于配置用户,可用vim查看或修改这个文件

vim /etc/passwd      
Linux入门笔记5. 多用户多任务

每行代表一个用户,具体格式如下:

用户名 : 密码 : 用户标识号 : 组标识号 : 描述 : 主目录 : 默认shell

其中,有几点需要注意:

  • 密码是加密后的密码,在/etc/passwd中用’x’或’*’表示。加密后的密码存在/etc/shadow中
  • 用户标识号,UID,范围是【0-65535】,0是超级用户,普通用户从500开始
  • 组标识号,GID,在/etc/group文件中管理
  • 默认shell,用户登陆后默认的shell

3、用户管理工具

(1)useradd 添加一个用户

添加用户时分为以下几个步骤:

- 首先根据/etc/login.defs和/etc/defaut/useradd 中定义的规则添加用户

- 然后在/etc/passwd和/etc/group中添加用户和组(对应的加密文件也会自动添加记录)

- 最后建立用户主目录,并讲/etc/skel 目录下的文件/目录复制到主目录下

skel目录下包含Desktop、Documents等子目录:

Linux入门笔记5. 多用户多任务

通过useradd –help查看它有哪些选项

Linux入门笔记5. 多用户多任务

创建一个用户user1,指定组为mygroup1,附加组为mygroup2

sudo useradd -g mygroup1 -G      

(2)usermod 修改用户信息

修改用户user1的组为mygroup3

sudo      

(3)userdel 删除用户

删除用户user1 并删除主目录及子目录的所有文件

sudo      

4、组管理工具

(1)groupadd 命令用来新建用户组

Linux入门笔记5. 多用户多任务
sudo groupadd -g 1020      

执行上面的命令后,然后使用命令​

​more /etc/group​

​ 查看组,可以看到多了一个GID为1020的mygroup

Linux入门笔记5. 多用户多任务

(2)groupdel 命令用来删除用户组

sudo      

(3)newgrp 命令用来切换组

如果当前用户属于组group1,同时又属于组group2,可用newgrp命令切换组

sudo      

5、文件权限

(1)不同的用户拥有不同的文件权限,用​

​ls -al​

​ 可以查看文件的权限

Linux入门笔记5. 多用户多任务

其中:d表示目录,r表示读,w表示写,x表示可执行,- 表示空

以Desktop目录为例:

类型 所有者 所属用户组组 其它用户
d r w x r - x r - x
目录 读 写 执行 读 执行 读 执行
  • Desktop是一个目录,
  • 它的所有者(user)可以对它进行“读、写和执行”操作;
  • 它所属的用户组中的用户,可对它进行“读和执行”操作;
  • 其他用户可对它进行“读和执行”操作

2 表示目录的硬链接数量

后面两项lijialin表示目录所属的用户和组

4096是文档的大小,即4096B

11月 5 15:06表示最后的修改的日期

Desktop是文档名称

(2)改变权限的命令:chmod

chmod 命令有两种使用方式:

  • chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file
  • chmod [xyz] file

A. 先看 chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

选项 作用
u User,文件的所有者
g Group,用户组
o Other,即其他用户
a ALL,所有用户
+ 增加权限
- 取消权限
= 赋予权限
r Read,即读文件
w Write,即写文件
x 运行文件
file 文件的路径

现在有一个名为test.txt的文件,它的权限如下:

除了所有者外,其他用户对它的权限是“只读”的

Linux入门笔记5. 多用户多任务

现在要给所有用户“写”的权限,可以用下面的命令,效果如下图所示

sudo      
Linux入门笔记5. 多用户多任务

B. 再看 chmod [xyz] file

其中,x,y,z分别表示数字(最大不超过7),并分别对应User、Group、Other

x,y,z的值由r(r=4),w ( w=2 ),x ( x=1 )来确定

sudo chmod 765      
Linux入门笔记5. 多用户多任务

使用命令 ​

​ls -al | grep test.txt​

​​ 查看test.txt的权限,可以看到test.txt的权限被修改为:​

​-rwxrw-r-x​

Linux入门笔记5. 多用户多任务

补充:

当然,你也可以使用通配符 ‘*’,来设置当前路径下的所有文件的权限

For example:

假如,当前你的路径下有文件:1.txt, 2.html, 3.py

使用命令 ​​

​chmod 777 *​

​ 可以同时设置上述三个文件的权限为rwx