Linux用户和用户组:
登录Linux系统需要用户名和密码,用户名就对应系统中的一个用户;
为了方便用户的管理,加入了用户组的概念,修改用户组的权限会对用户组内的所有用户生效。
Linux把用户的账号信息存储在/etc/passwd文件中,
密码存储在 /etc/shadow文件中,
用户组信息存储在/etc/group文件中
我们在登录Linux系统时,Linux首先会做下面三个事情
从/etc/passwd中读出用户信息、默认的工作目录、和shell;
从/ect/group中读出用户所属用户组信息;
从/etc/shadow中验证密码,验证成功后,系统打开默认工作目录,和命令行的shell窗口
下面我们分别介绍下/etc/passwd和/etc/shadow中的内容
/etc/passwd
以冒号分割总共分7列,其中每一列的含义
第一列:用户名
第二列:密码,很早之前存放Linux的密码,后面为了安全问题,密码移到了/etc/shadow文件中
第三列:UID 用户标示符,唯一标识一个用户
第四列:GID 用户所在组的ID
第五列:用户信息说明,意义不大
第六列:家目录
第七列:登录时使用的shell
/ect/shadow
以冒号分割共9列
第一列:账户名称
第二列:密码
第三列:最近修改密码日期
第四列:密码不可被修改的参数
第五列:密码需要重新修改的天数
第六列:账号需要修改前告警天数
第七列:密码过去后的宽限时间
第八列:账号失效日期
第九列:保留今后使用
新增用户
命令:useradd [用户名]
执行uaseradd命令时,Linux系统主要帮助我们处理以下几个事情:
1.在/etc/passwd里建立一行与账号相关的数据,包括建立UID/GID/家目录;
2.在/etc/shadow创建一条数据,但是密码并未初始化
3./etc/group创建一个与用户名一样的组
4./home下面创建一个与账号名同名的目录作为家目录
刚创建的用户是无法登录,需要设置密码
设置密码
命令:passwd [用户名]
然后在交互窗口里输入密码
删除用户
命令:userdel -r username
记得在删除用户前 find / -user [用户名] 看看属于这个用户的文件
文件权限:
在命令行输入:ls -al
剖析以上字符含义,以空格切分逐列介绍:
第一列:drwxr-xr-x 一共九个字符,分别介绍下其中的含义
第一个字符[d]代表是目录,还可以是:[-] 文件 [l]链接 [b]外围存储设备 [c]键盘鼠标等
接下来的字符三个一组分为三组,拿第一行举例 [rwx] [r-x] [r-x]
第一组表示文件拥有者的权限,
第二组表示所属用户组账号的权限,
第三组表示非本人且非用户组成员的权限。
其中 r:可读 w:可写 x:可执行 -代表没有权限。
rwx的顺序是不变的。
修改文件属性和权限的命令:
修改文件所属用户组: chgrp [用户组] [文件名]
修改文件拥有者:chown [用户] [文件名]
修改文件权限:chmod [权限] [文件名]
我们经常会执行 chmod 777 text.sh ,其中777是怎么计算出来的呢?
数字和权限之间有个简单的对应关系
其中r代表4,w代表2,x代表1
比如 770= [4+2+1][4+2+1][0+0+0]= rwxrwx---