文章目录
-
目录
文章目录
前言
一.基本概念
二.用户管理
创建用户
修改用户属性
用户组管理
用户授权
前言
用户在操作系统中是非常重要的,我们登录系统,访问共享文件夹等都需要用户进行验证。所以,掌握管理用户的知识非常有必要的
一.基本概念
用户的账户信息存储在/etc/passwd中,在此文件中一行一个用户信息,各字段用“:”隔开,如下图所示:
从左向右一次代表:
用户名:用户密码:用户uid:用户gid:用户的描述信息:用户的家目录:用户的shell
用户的密码信息存储在/etc/shadow中,如下图所示:
上面第一个和第二个冒号之间的就是加密后的密码。
当我们需要判断一个用户是否存在时可以使用如下命令:id tom
二.用户管理
创建用户
[root@192 ~]# useradd tom
#设置密码
[root@192 home]# passwd tom
常见参数:
-d:指定用户的家目录,默认为home/用户
-m:创建家目录,这是默认选项,默认为/home目录
-s:指定用户的shell,默认为/bin/shell
-c:用来指定备注信息,不指定则为空
-u:指定用户的uid
-g:默认情况下,创建用户时会创建一个同名组。例如,创建用户tom会同时创建tom组
-G:指定附属组,把用户加入一个额外的组,此时tom属于两个组
修改用户属性
如果想要修改用户属性可以用usermod命令,全称:user modeify 意为用户修改
常见参数:
-c:修改注释信息
-s:修改shell信息
-d:修改家目录
-L:锁定用户
-U:解锁用户
演示案例:把tom的shell目录改为/bin/bas并把备注信息改成hello tom
[root@192 ~]# usermod -s /bin/bash -c "hello tom" tom
用户组管理
所有组的信息都是放在/etc/group中的,如果要判断一个组是否存在,可以到/etc/group中查询
#查看用户组信息
[root@192 etc]# grep tom /etc/group
tom:x:1001:
#增加组
[root@192 etc]# groupadd tom
#删除某个组
[root@192 etc]# groupdel tom
#设置创建组的gid为3000
[root@192 etc]# groupadd -g 3000 tom
#将tom用户加入到组bin中
[root@192 etc]# gpasswd -a tom bin
命令可执行权限授权
很多时候普通用户的权限是不够的,例如,下面的命令
要执行该操作,需要使用su命令切换到root,但是并不希望其他人知道root密码,那怎么办?我们可以让root用户通过sudo对普通用户进行授权。
以root身份到/etc/sudoers.d下随便创建一个文件,这里为了辨识以用户名命名文件。假设,现在要授权tom用户在本机以root用户的身份使用mount命令,编辑如下:
我们可以切换到tom用户下使用下面的命令查看tom用户能够使用root身份执行哪些权限
[tom@192 ~]$ sudo -l
三.权限管理
为了理解所有者和所属组的概念,我们先看下面的例子:
张老板是某公司的老板,买了一套房作为员工宿舍给A部门员工居。张老板是房主,所以他对房子具有很多权限,A部门员工只有使用权而不能私自装修等,除张老板和部门的员工外,其他所有人都没有权限。
那么,这套房子对三组人设置的权限如下:
所有者 | 所属组 | 其他人 |
张老板 | A部门员工 | 其他所有人 |
u | g | o |
同理,在Linux系统中对文件的授权也是通过这样的分组来进行的,如下图所示:
[root@192 zt]# ls -lh file
-rw-r--r--. 1 root root 0 Jun 2 23:58 file
(1) (2)
(1)的位置是所有者,这里file的所有者为root
(2)的位置是所属组,这里file的所有者为root
文件权限管理
如果想要改变所有者,可以使用chown命令来实现,chown的用法如下:
[root@192 zt1]# chown zt1 /home/zt1/file
这里的意思是把file的所有者从root改为zt1
当我们想要同时修改所属组合所属用户时,可以使用如下命令:
[root@192 zt1]# chown zt1:zt1 /home/zt1/file
目录权限管理
目录权限的修改和文件权限的修改一致,值得注意的是,使用chown命令修改目录权限时并不会修改目录中文件的权限。
#修改目录所属用户
[root@192 zt1]# chown zt1 /file
#修改目录所属组
[root@192 zt1]#chgrp users /file
#修改目录权限的同时递归修改目录中的文件权限
[root@192 zt1]# chown -R zt1 /file
[root@192 zt1]#chgrp -R users /file
权限修改
[root@192 zt]# ls -lh file
-rw-r--r--. 1 root root 0 Jun 2 23:58 file
从左往右第二位开始每三位代表用户权限(u),所属组权限(g),其他用户权限(o)
总结