Linux用户和用户组基础

本节主要讲述Linux系统中用户和用户组概念的基础。
1. 什么是用户(user)
Linux是一个多用户和多用户组的系统。当我们使用Linux时,需要以一个用户的身份登陆,一个进程也需要以一个用户的身份运行。配合Linux的权限管理机制,可以做到限制用户或者进程可以使用、不可以使用哪些资源,这就组成了Linux系统以用户为基础的基本安全体系。
用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类:
  • root用户:超级用户,可以用来登录,操作系统任何文件和命令,拥有最高权限,可以操作系统中任意文件和进程,类似于Windows系统的Administrator权限账户。默认uid为1。
  • 虚拟用户:不具有登录能力,系统本身拥有,不是后来添加的,但是系统运行不可缺的。默认uid为2-500。
  • 普通用户:有登录能力(也可关闭登录),权限受到限制。默认uid为501及以后。
2. 什么是用户组(group)
用户组(group)就是具有相同特征的用户(user)的集合体,类似于一个团队的概念。有时我们需要让多个用户具有相同的权限,而不希望对他们单一的配置,这时我们需要用户组。我们把用户都定义到同一用户组,通过修改文件或目录的权限来配置对个别用户组的权限,这样用户组下的用户对该文件或目录都具有相同的权限。
3. 用户和用户组的对应关系
用户和用户组的对应关系是:一对一、多对一、一对多或多对多;
一对一:某个用户可以是某个组的唯一成员;
多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;
一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;
多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组。

Linux命令screen教程

一、screen命令是什么?

Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

二、如何安装screen命令?

除部分精简的系统或者定制的系统大部分都安装了screen命令,如果没有安装,CentOS系统可以执行:yum install screen

Debian/Ubuntu系统执行:apt-get install screen

三、screen命令使用方法?

1、常用的使用方法

当使用SSH远程执行一个命令或一个脚本,执行需要很长时间时,最头疼的情况就是遇到突然的短线或者无意的关闭窗口了。那么有什么办法可以避免这种情况呢?只要在执行前敲screen命令就可以了,这里用安装lnmp做个示例。

1.1 创建screen会话

可以先执行:screen -S lnmp ,screen就会创建一个名字为lnmp的会话。

1.2 暂时离开,保留screen会话中的任务或程序

当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

1.3 恢复screen会话

当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls 接着screen会列出当前存在的会话列表,如下图:

11791.lnmp即为刚才的screen创建的lnmp会话,目前已经暂时退出了lnmp会话,所以状态为Detached,当使用screen -r lnmp后状态就会变为Attached,11791是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 11791

1.4 关闭screen的会话

执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。

2、远程演示

首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

3、常用快捷键

Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

4、示例

这里拿安装lnmp做个示例:

  1. 首先执行:screen -S lnmp 创建一个名叫lnmp的screen会话(可自定义命名)。
  2. 执行lnmp的安装。
  3. 如果网络掉线或中途离开,可以在重新连接后执行 screen -r lnmp 就会看到你的lnmp安装进程。

低内存VPS之LNMP一键安装

有些VPS服务商会提供廉价的VPS,但是通常他们的内存配置都比较低。那么,如何在低内存VPS中也能安装稳定低耗的网站程序呢?

这一篇文章将为大家介绍一下lnmp.org网站的LNMP一键安装包。这个LNMP包已经做得比较成熟了,国内用的人比较多,相对于其它的LNMP安装包运行会更加稳定些,资源消耗较低(最低128M内存),兼容性很好,更是做到了无人守护一键傻瓜式安装,菜鸟也能轻松搞定。

系统需求:

  • CentOS/Debian/Ubuntu Linux系统
  • 需要2GB以上硬盘剩余空间
  • 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
  • VPS或服务器必须已经联网!
  • Linux下区分大小写,输入命令时请注意!

安装步骤:

1、使用putty或类似的SSH工具登陆VPS或服务器;

登陆后运行:screen -S lnmp

这个命令是为了确保远程连接时不会因为连接不稳定或者意外关闭SSH窗口而中断安装过程的。若在安装中途突然被关闭或连接中断,还可以通过screen -r lnmp恢复。

如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细的请参考screen教程

2、下载并安装LNMP一键安装包:

您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别。

执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令:

CentOS系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz && tar zxf lnmp1.1-full.tar.gz && cd lnmp1.1-full && ./centos.sh

Debian系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz && tar zxf lnmp1.1-full.tar.gz && cd lnmp1.1-full && ./debian.sh

Ubuntu系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz && tar zxf lnmp1.1-full.tar.gz && cd lnmp1.1-full && ./ubuntu.sh

另外有2个国外镜像下载点可以使用soft2.vpser.net 和soft3.vpser.net 具体替换方法:http://lnmp.org/faq/lnmp-download-source.html

如需安装0.9版,请访问http://old.lnmp.org/install.html

按上述命令执行后,会出现如下提示:
(注:如果是Debian系统,会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器/VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。如果输入有错误,可以按住Ctrl再按Backspace键删除,以下均可采用此方法删除。)

这一步需要设置MySQL的root密码,输入后回车进入下一步,如下图所示:

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,这个可以单独在MySQL文件里关闭,输入 y 表示启用,输入 n 表示不启用。输入 y 或 n 后回车进入下一步,显示如下信息:

这一步是选择php版本,可以选择 PHP 5.3.28 或 PHP 5.2.17,如果需要安装PHP 5.3.28的话输入 y ,如果需要安装PHP 5.2.17 输入 n,输入 y 或 n 后回车,进入下一步MySQL版本的选择,如下图:

可以选择MySQL 版本 5.1.73、5.5.37或MariaDB 5.5.37,如果需要安装MySQL 5.5.37的话输入 y ,如果需要安装MySQL 5.1.73 输入n,如果需要安装MariaDB 5.5.37的话输入 md,输入完成后回车,完成选择。

提示”Press any key to start…”,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

3、安装完成
如果显示如下界面:

Nginx、MySQL、PHP都是running,80和3306端口都存在,说明已经安装成功。
接下来按添加虚拟主机教程,添加虚拟主机,通过sftpftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。

4、安装失败


如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的发行版名称版本号(可通过 cat /etc/issue获得)、32位还是64位,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。

5、添加、删除虚拟主机及伪静态管理

http://lnmp.org/faq/lnmp-vhost-add-howto.html

6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装

http://lnmp.org/faq/Add-ons.html

7、LNMP相关软件目录及文件位置

http://lnmp.org/faq/lnmp-software-list.html

8、LNMP状态管理命令

http://lnmp.org/faq/lnmp-status-manager.html

Toffy Space开站啦!

经过了一段时间的备案流程和等待,Toffy Space终于在2015年2月15日开站了!一个人的博客,一个人去记录点点滴滴。

本博客主要专注于网络技术、信息安全,还会关注新科技和移动互联网。偶尔也会写点职场、时间、知识管理和一些感想。

虽然目前没有人关注到这个网站,但还是在这里祝福各位新春快乐!希望在年后有好运!Fighting!