文章目录
第五章 熟悉Linux的用户和登录
《手把手教你学Linux》 龙小威著 学习笔记
5.1 Linux下的用户分类
5.1.1 root用户
- 查看自己的用户身份
whoami
或者id
5.1.2 普通用户
- root创建用户
useradd yunqw
- root为用户创建密码:
passwd yunqw
- 普通用户修改密码:
passwd
- 不能创建已经存在的用户
- 为用户创建密码时,root用户可以不管密码的复杂程度随便创建,而普通用户则需要按照密码的创建要求(不能太简单)进行创建,否则会创建失败
5.1.3 系统用户
系统用户是安装某些应用是系统自动创建的,一般情况下不能直接拿来使用,而是由软件进行使用
5.2 Linux用户账号的属性
5.2.1配置文件
在/etc
文件下面放置的是各种配置文件。linux通过修改配置文件来改变程序的运行,而不能直接控制程序的运行。
操作:通过修改/etc/passwd
文件来创建用户和修改密码
注意:passwd
文件中没有设置密码,密码文件的配置在/etc/shadow
中
5.2.2 用户和用户组的关系
- 一个用户必须最少属于一个组(group),主组是创建该用户时默认分配的组,只能有一个;附属组是可以后续将该用户添加到其他的组中,可以有多个
如图所示,主组gid和附属组groups都是1000
- linux的组在
etc/group
文件中定义
因此有了第二种添加用户的方法:通过在etc/passwd
中添加用户id和密码,在etc/group
中为该用户分配主组和附属组。
- 在
/home
下为该用户创建文件夹(否则 su --用户名) 会出错,因为以上步骤没有在该目录下床架文件夹
---------------------------------------------------------------------------------
#1. 在passwd 下添加新的用户
vim /etc/passwd #root 权限下
在该文件中添加:
linuxuser:x:1001:1001::/home/linuxuser:/bin/bash #1001:1001 表示用户Id和用户主组ID,第一个是系统分配给linuxuser的唯一ID, 不可变,后面的1001 是一个组的ID,可变。
#/bin/bash 是指用什么方式来登录Linux,这里使用的是bash,如果使用/bin/vi 则登录后直接进入vi编辑器
------------------------------------------------------------------------------------
#2. 在group文件下为新的用户linuxuser创建分组
vim /etc/group
shift+G 调到最后一行,添加以下代码:
linuxuser:x:1001
------------------------------------------------------------------------------------
#3. 在/home 下新增linuxuser 文件夹,并修改该文件夹的权限(不进行第三步则无法su 成功切换用户)
mkdir /home/linuxuser
chown -R linuxuser:linuxuser /home/linuxuser
如图所示在passwd文件中添加linuxuser之后的结果,可以看出其gid 和groups后面之后编号没有组的名称,通过修改/etc/group
文件A来进行组的添加。添加完成后显示正常
5.2.3 从用户登录角度认识bash
用户以什么方式登录,在 etc/passwd
文件中可以看到:
/bin/bash
是指以bash的方式登录该用户,同样也可修改成/bin/vi
则是通过文本编辑的方式登录用户,一旦退出编辑器,则退出了用户; 在bin
目录下有多种常用命令,是用户可以使用的
5.2.4 linux用户的密码管理
在\etc\shadow
文件中,通过md5sum 来加密
echo -n "12345"|md5sum
第六章 Linux的权限机制
6.1 相关概念
6.1.1 查看文件/文件夹属性
ls -ld 文件夹
例如:
ls -ld /root/
> dr-xr-x---. 2 root root 130 May 24 22:10 /root/
第一个: d 文件 - 文件夹
----
后面每三个一组:权限位
r-x:对于root 这个用户可读、不可写、可执行
r-x:对于root这个用户组可读、不可写、可执行
---
第一个 root :该文件夹属于root这个用户
第二个root:该文件夹属于root这个组 (属于root这个组中所有的成员)
r | w | x | |
---|---|---|---|
文件 | 能够读取文件的内容 | 编辑文件 | 对于脚本文件是否可以运行 |
文件夹 | 能够用ls访问文件夹下的内容 | 进行文件的增删改查等,改变文件夹下的内容 | 是否可以通过cd进入到该文件夹 |
6.1.2 修改权限
方法一:
命令chmod u/g/a=rx/rwx/... 文件夹/文件名
u:改变user的权限:第一个rxw
g:改变groups的权限,第二个rxw
a:改变所有权限
方法二:
使用加减法
chmod u+w 文件名
给改文件的user添加写权限
chmod g-r 文件名
去掉该文件group的读权限
方法三:数字法 :
rwx :r=4;w=2;x=1
chmod 754 文件名
给该文件的usr添加 rwx权限(4+2+1=7);group添加(r-x 权限 4+1) ,给other添加(r-- 权限)
6.2 扩展
6.2.1 默认权限
在新建文件或者文件夹时,系统会默认为文件、文件夹分配一个权限。该权限由umask
来管理。直接输入umask
命令可以查看当前umask的设置
这里设置为0002 (从第二位算起:002)
- 文件夹的初始权限为777,则根据umask设置: 文件夹的默认权限为
u:7-0=rwx
r:7-0=rwx
o:7-2=r-x
因此创建的文件夹默认权限为 775
- 文件的初始权限为666
权限计算方式同上,不同的是:如果相减结果为奇数,则+1; 如果为偶数则为最终结果
例如 666-021=645 (第三位为奇数,+1) 最终为646
修改默认权限:
vim /etc/profile
找到umask的值进行修改
source /etc/profile
运行该脚本使修改生效