
linux *** 作系统是多用户管理系统,管理起来非常麻烦,所以用组的概念来管理用户就变的简单多了, 一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。
linux的多用户多分组管理系统都是针对 文件 来说的, 每个文件都有所属的用户和所属的分组。
linux系统是根据用户UID来识别用户的,并不是根据用户名。linux用户分为以下3种
每行数据为一个用户,可以看到红色部分为root超级用户,蓝色部分为系统用户,绿色部分为普通用户。
我们可以看到该文件属于root用户和root组。然后root用户权限是rw-,root组内成员的权限是r--,而其他用户的权限是r--。由于其他用户的权限都是r--,所以任何用户都是可以读的。
在/etc/group文件中存储着系统的所有组,查看文件内容,如下图
大致分为4段
我们可以看到图中mail分组的第4段有值为postfix,也就是postfix用户应该有俩个分组,一个初始组和一个附属组,我们执行以下命令验证
用户密码文件shadow和组密码文件gshadow的权限都是000,所有其他用户是不能查看的,只有root用户才可以查看,root用户也是不能修改该文件的。
使用 whoami 命令查看。
postfix用户有俩个所属组postfix和mail。由此可见, uid是指用户id(用户名称),gid是指初始组id(初始组名称),groups是指包括初始组在内的所有组id(所有组名称)
我们知道了/etc/group文件的第四段为 组内成员 ,所有我们可以通过 grep 来匹配相关组。比如查询mail组内的所有成员,命令如下, 可以看到mail组内有mail,postfix和tom3个用户。
上面是一种方法,我们也可以直接使用命令来查看。
添加用户只能root用户来添加,普通用户没有权限,添加用户有俩种方式
在centos系统下,这俩种方式没有区别, 都会在/home下自动创建与用户名同名的用户目录,且都是需要使用 passwd userName 命令来设置用户密码的,只有设置完密码后才可以正常登录。
在unbantu系统下,这俩种方式是有区别的,使用 useradd userName命令 不会在/home下自动创建与用户名同名的用户目录,且不会自动选择shell版本,后续也是需要使用 passwd username来设置密码的 。 而使用 adduser userName 命令的话 是会在/home目录下自动创建与用户名同名的用户目录,也会自动选择shell版本,且会自动提示输入用户密码,对用户比较友好,后续不需要在使用passwd来设置密码。
删除用户,并不会删除用户相关的文件
删除用户且一起删除家目录
格式如下:
参数如下:
-g 指定组(只有root可以使用)
-a 指定用户加入组
-d 从组中删除该用户
-p 从组中清楚所有成员
-l 显示组成员列表
linux中每个文件都是有权限的。 每个文件都有自己的所属用户和所属组,且拥有所属用户权限,所属组权限和其他权限3种。
权限一般分为读,写,执行3种,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的 *** 作。
目录有x权限才可以cd进入该目录。目录有r权限才能在该目录中使用ll或者ls查看目录。一个目录中的文件能否被删除或者创建取决于该目录是否有w权限。
执行ll命令后显示如下,我们解读一下
从左到右发现一共有7段
然后执行如下命令
test文件的权限改为
常用的参数为 -R ,常用于修改目录权限,该参数表示为该目录以及目录下的所有子文件都修改为相同的权限。
然后执行如下命令
再次查看test文件
常用的参数为 -R ,常用于修改目录,该参数表示为该目录以及目录下的所有子文件都修改为相同的用户及用户组。
想切换到root用户,直接使用su命令即可
创建用户命令useradduseradd命令用于创建用户,默认情况下只有系统超级用户root才能使用。由于用户的属性有很多,所以该命令的选项也有很多,这里不全部介绍,只说几个常用的选项。-u:该选项用于指定用户的UID,如果不使用该选项那么系统会默认的从500开始递增;-g:该选项用于指定用户的初始组,可以是名称也可以是GID,如果不使用该选项那么系统会默认创建一个与用户名相同的组名作为用户的初始组;-c:该选项用于指定用户的说明信息,方便管理员管理;-d:该选项用于指定用户的家目录,如果不使用该选项那么系统会默认在/home目录下创建一个与用户名相同的目录作为家目录;-s:该选项用于指定用户的shell,如果不使用该选项系统会默认指定/bin/bash,具体shell的概念后续会介绍;图示是通过 useradd --help 命令得到的部分的选项信息。 useradd命令 *** 作演示使用useradd命令创建用户today,并查看/etc/passwd文件检查是否创建成功。由配置文件可以看出today用户已经创建成功用户的UID为502,家目录是/home/today,shell是/bin/bash。建立用户lina,指定其登录脚本为/sbin/nologin,这样的指定代表该用户不能登录系统。由配置文件可以看出用户已经创建成功并且shell是/sbin/nologin。建立一个用户sunday,指定其UID为778。由配置文件可以看出用户已经创建成功并且UID是778。 创建用户monday,指定其家目录为/home/date。由配置文件可以看出用户已经创建成功并且家目录是/home/date。学习软件测试,最基本的linux命令必须掌握,现为大家整理如下:
一:系统管理相关命令
ls:可以看到整个目录
1.su:在不退出登陆的情况下,切换到另一个用户的身份
如:su root
切换到root这个用户,将提示输入密码,输完密码后即可登陆
# 超级用户提示符
$ 普通用户提示符
whoami:确认自己身份
history:查看运行命令的 历史
ifconfig:显示或设置网络设备的命令,我们可以用这个命令查看自己虚拟机的IP地址
ping:ping是Windows.Unix,Linux系统下的一个命令.ping命令也属于一个通信协议,是TCP/I协议的一部分。利用“ping"命令可以检查网络是否联通
停下来是:Ctrl+C(4)
kill:杀死进程(kill-9 进程号 强制杀死进程)
目录 *** 作命令
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录”/“,下层是各种各样的子目录和文件。
/:unix 文件系统的上层根目录
root:存放root用户的相关文件
home:存放普通用户的相关文件
bin:存放常用命令的目录,如vi,su,普通用户就可以提取的命令
sbin:要具有”一定权限才可以使用命令“
etc:存放配置的相关文件
vir:存放经常变化的文件。如:网络连接的sock文件
boot:启动目录,存放引导系统启动的相关文件
usr:安装一个软件的默认目录,相当于Windows下的program files
dev:设备文件保存目录
lb :系统库保存文件
pwd命令:显示当前路径
cd命令:切换目录
用法:cd目录路径
cd./切换到上级目录
cd/切换到根目录
cd~(或只有cd) 切换到用户主目录(home底下以用户名命名的文件夹)
/root目录
cd /opt --->cd bin 与cd /opt--->cd /bin的区别
mkdir创建目录
mkdir 目录名
rmdir删除空目录
用法:rmdir 目录名
也可用:rm-rf 目录名
touch a.txt创建一个a.txt文件
二:文件 *** 作命令
在Linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用文件命令有:
|| 查看文件目录,以及它们对应的属性信息
cp 复制命令
用法:cp[选项] 文件名或目录 目标地址
-R 拷贝目录及目录下所有目录和文件
cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)
mv 移动命令
用法:mv文件名或目录 目标位置
mv a.txt../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)
mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)
移动目录的时候,如果出现覆盖的情况,且被覆盖的目录非空,需要加一个'-b'的参数才能移动成功。被覆盖的目录此时会生产一个备份。
rm 删除文件或目录(i: *** 作时进行询问)
-f 强制删除
-r 删除目录
常用:rm -f文件或目录
find命令 查找文件
用法:find[路径][选项]
常用选项有:
find . -name a.txt 在当前目录查找文件a.txt
find / -name a.txt 从当前目录查找a.txt文件
grep命令
功能:在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现
用法:grep 字符串 文件名
grep xyz file 在file文件中寻找band字符串所在的那一行
文件编辑命令
vi:是linux下常用的文本编辑器
调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)
按键盘i进入编辑状态(注意:都是英文输入法下进行输入)
退出编辑按ESC键,退出方法
不保存退出: :q!
保存退出: :wq
输入/,进入搜索,输入你需要搜索的文字,按Enter
按键盘G,可以直接定位到最末行
按键盘g,可以直接定位到首
cat命令:显示文本文件内容
用法: cat文件名 cat 文件名字
head:查看前几行 用法:head -n 5 文件名
tail:从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件
tail -n 5文件名 查看后几行
tail -f error.log 不断刷新,看到最新内容
系统资源查询命令
ps 查看进程(动态)
-ef 显示所有运行进程,并显示启动进程的命令
Uid:用户ID,PID进程id PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在所运行的时间
TTY:终端号。CMD:命令名称和参数
netstat 查看网络状况
netstat -apn 查看所有端口
管道命令
管道使用”|“符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入
如:ls|greap abc:管卡道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录
正常情况下,杀死服务进程(比如杀死tomcat进程)
通过进程名找到进程,在杀死进程
通过命令查找tomcat进程:ps -ef|grep tomcat(ps -ef是查找所有运行的进程,通过管道符找到所有进程中包含了”tomcat"字符串的进程,即为tomcat进程),假如5541
杀掉此进程,kill -9进程id(kill -9 5541)
通过端口来找到进程,再杀死进程
通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080 根据8080查进程,假如 5541
杀掉进程:kill -9 pid(kill -9 5541)
三:权限赋予命令:chmod
linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在linux中可以使用||或ls -|命令来显示一个文件的属性以及文件所属的用户和组。
chmod语法:chmod[-R] xyz文件或目录
读(r): 4 写(w): 2 执行(x): 1
chmod 532 test.txt
压缩,解压命令
例如:将test文件压缩成test.tar.gz
安装软件命令
yum 自动下载安装(前提:能访问外网)
yum[ *** 作][package]
例如:yum install mysql-server(安装mysql服务器)
rpm 安装
rpm -ivh 软件包名(ivh 安装显示安装进度)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)