简介
主要介绍linux用户相关的内容:
Linux中的用户实质就是一个账号,Linux是一个多用户多任务操作系统,任何一个想要使用系统资源的用户,都必须先向系统管理员要一个账号,然后以这个账号的身份进入系统。
Linux的用户至少需要一个组,组的概念类似于角色,具体后面有介绍。
添加用户:
命令:
useradd [参数选项] 用户名
- 当创建用户成功后,会在/home目录下自动创建一个与用户名一样的属于该用户的主目录,当该用户进行登录时,默认进入该主目录。
- 也可以通过 useradd -d 目录名 用户名 来指定创建的主目录的名称。
- 创建用户的同时也会创建一个与用户名一样的组名称。
- id 用户名 可以查看用户信息,uid是用户的id,gid是用户组的id。
设置密码:
passwd 用户名 按回车,就可以属于用户的新密码,注意,屏幕上是不显示密码的。
删除用户:
userdel 用户名 默认是不删除用户的主目录的,如果要删除用户主目录,需要加-r。
切换用户:
su - 切换用户名 :不填写用户名,就是切换到root。由高权限用户切换到低权限用户不需要输入密码,比如root切换到别的普通用户,反之则要。
当要回到原来的用户时,使用exit。
用户组
类似与角色,一个用户必须由一个以上的用户组,系统可以将多个有共性的用户通过用户组进行统一管理,比如权限管理。
增加用户组:
groupadd 组名。
删除组:groupdel 组名
用户创建时,可以使用-g来指定用户组,指定的用户组必须存在。
useradd -g 组名 用户名
修改用户的用户组:
usermod -g 组名 用户名
修改用户登录默认进入的目录:
usermod -d 目录名 用户名
关于用户和用户组的三个文件:
/etc/passwd :用户user的配置文件,记录了用户的各种信息
文件格式:
用户名:口令:用户id:用户组id:注释性描述:主目录:登录的shell
口令是用户密码,加密了,在别的文件,这里看不到。
/etc/shadow :口令的配置文件
文件格式:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
口令是加密了的。
/etc/group :用户组配置文件,记录了系统的用户组(group)信息。
文件格式:
组名:口令:组id
口令也是看不到的。
文件关于用户的三大概念
文件关于用户有三个概念:
- 所有者:一般是谁创建了该文件就是该文件的所有者。可修改
- 所在组:一波是谁创建了该文件,该用户的所在组就是文件的所在组。可修改
- 其他组:除了所在组外的其他所有用户组。
修改文件所有者
chown 新的用户名 文件名
修改文件所在组
chgrp 新的组名 文件名
chown 新的用户名:新的组名 文件名 //可以同时修改所有者和所在组。
以上三种情况,如果是修改目录的或,可以使用-R参数,使用可以递归修改其文件和所有子目录。
文件权限:
- 标注1:表示文件的类型,- 表示普通文件,d表示目录,c表示字符设备(键盘、鼠标),l表示软连接文件,类似快捷方式,b表示块文件、硬盘。
- 标注2:表示权限,此处有9位,1-3位表示文件所有者对该文件的权限,4-6表示文件所在组成员对该文件的权限,7-9表示文件其他组对该文件的权限。权限有三种,读、写、执行,分别是rwx。
对文件而言:r表示可以读取该文件内容,w表示可以修改该文件内容,但是不能删除,文件的删除需要拥有该文件所在目录的写权限,并且拥有该文件的写权限,才能进行该文件的删除。x表示可以执行该文件,比如shell等可执行文件。
对于目录而言:r表示可以读取目录,ls 查看目录。w表示可以目录内创建+删除+重命名目录。x代表可以进入该目录。 - 标注3:如果是文件,表示硬连接个数,通常是1,如果是目录,表示子目录个数。
- 标注4:文件所有者。
- 标注5:文件所在组。
- 标注6:文件的大小,单位字节。
- 标注7:文件的最近修改时间。
- 标注8:文件名。
修改权限,使用的命令是chmod:
chmod u=rwx g=r o=r 文件名 :表示修改文件的所有者的权限是rwx,所在组r ,其他组r,u表示所有者,g表示所在组,o表示其他组
chmod u+x o-x 文件名:表示所有者加上一个x权限,其他组减去一个x权限。
chmod a=rwx 文件名 :表示给文件所有者、所在组、其他组都设置rwx权限,a表示所有。
chmod a+r 文件名:表示给文件所有者、所在组、其他组都加上r权限。
第二种方式是使用掩码来实现:
r表示2的平方=4,w表示2的一次方=2,x表示2的零次方=1 然后最终权限就是相加。 比如只读 是4 ,读写是 6 ,读写执行是7。
chmod 766 文件名 第一个数字表示所有者的权限,第二个表示所在组,第三个表示其他组,数字代表权限。这个表示所有者设置rwx权限,所在组和其他组都是rw权限。