目录
Linux 系统的管理员是 root,是因为该用户的身份号码即 UID的数值为 0,UID 就相当于我们的身份证号码一样具有唯一性, 因此可通过用户的 UID 值来判断用户身份。
管理员 UID 为 0:系统的管理员用户。
系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏 范围。
普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。 需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。
添加用户 useradd
useradd (选项) (用户名)
选项:
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为 YYYY-MM-DD.
-u 指定该用户的默认 UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认 Shell 解释器
[root@localhost /]# useradd -d /home/test1 -u 4436 xiaomi
查看新添加用户的id: id+名字
[root@localhost /]# id xiaomi
uid=4436(xiaomi) gid=4436(xiaomi) groups=4436(xiaomi)
修改用户 usermod
usermod (选项) (用户名)
选项:
-c <备注>:修改用户帐号的备注文字;
-d <登入目录>:修改用户登入时的目录;
-e <有效期限>:修改帐号的有效期限;
-f <缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g <群组>:修改用户所属的群组;
-G <群组>;修改用户所属的附加群组;
-l <账号名称>:修改用户帐号名称;
-L :锁定用户密码,使密码无效;
-s :修改用户登入后所使用的shell;
-u :修改用户ID;
-U :解除密码锁定。
[root@localhost /]# usermod -u 1111 xiaomi
[root@localhost /]# id xiaomi
uid=1111(xiaomi) gid=4436(xiaomi) groups=4436(xiaomi)
用户账号口令管理
passwd 命令用于修改用户密码、过期时间、认证信息等。
passwd (选项) (参数)
选项:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
例子:用root帮用户修改密码
[root@localhost /]# passwd xiaomi
Changing password for user xiaomi.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
例子:锁住密码
[root@localhost /]# passwd -l xiaomi
Locking password for user xiaomi.
passwd: Success
例子:解开密码
[root@localhost /]# passwd -u xiaomi
Unlocking password for user xiaomi.
passwd: Success
删除用户 userdel
userdel [选项] 用户名
选项:
-f 强制删除用户
-r 同时删除用户及用户家目录 这个命令的目的删除用户,与它相关的文件有: 其实是把下面文件相关信息删除了
1 /etc/passwd
2 /etc/shadow
3 /home/username
[root@localhost /]# userdel -rf xiaomi
添加新组groupadd
groupadd (选项) (组名)
选项
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
例子:创建组并设置id
[root@localhost home]# groupadd -g 333 java
修改群组groupmod
groupmod (选项) (参数)
选项
-g <群组识别码>:设置欲使用的群组识别码;
-o:重复使用群组识别码;
-n <新群组名称>:设置欲使用的群组名称。
修改群组例子
[root@localhost home]# groupmod -g 444 -n javaweb java
删除群组groupdel
groupdel 群组名
[root@localhost home]# groupdel javaweb
Linux超级用户与伪用户
Linux下用户分为三类:超级用户、普通用户、伪用户
超级用户:用户名为root,具有一切管理权限,UID为0,可以创建多个管理员。
普通用户:在默认情况下,普通用户UID是介于500~6000;
伪用户:这些用户的存在是为了方便系统管理,满足相应的系统进程对文件属主的要求。伪 用户不能够登录,他的ID值介于1~499。
用户身份切换 su
su 用户名
[root@localhost home]# su xiaomi
[xiaomi@localhost home]$
注意: 上面的 su 命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信 息,而不是保留原始的信息。强 烈建议在切换用户身份时添加 这个减号(-)。
从root切换到普通用户权限变小了。。。就会用到了sudo
sudo [参数] 命令名称
参数:
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或 UID 值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行 sudo 时需要再次进行密码 验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语
总结 sudo 命令具有如下功能:
限制用户执行指定的命令:
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码。
Sudo 的全称为: super user do 。顾名思义:干超级用户才能干的事! 所以Sudo最常用的功能就是提升一个命名的执行权限。(不太建议使用,修改配置文件改错了没法弄了。。所以升级visudo)
编辑配置文件命令: visudo 来配置用户权限。
注意:
编辑sudo的配置文件/etc/sudoers是一般不要直接使用vi(vi /etc/sudoers)去编辑,因为sudoers配置有一定的语法,直接 用vi编辑保存系统不会检查语法,如有错也保存了可能导致无法 使用sudo工具,最好使用visudo命令去配置。虽然visudo也是 调用vi去编辑,但是保存时会进行语法检查,有错会有提示
配置权限 visudo xiaomi ALL=(ALL) ALL (配置文件修改)
使用权限 [xiaomi@localhost ~]# sudo rm -rf a.info
文件---ls命令
命令用于显示指定工作目录下之内 容(列出目前工作目录所含之文件及子目录)。
ls [参数]
参数:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
ls -l缩写 --->就是 ll
Linux文件类型
1 普通文件(-):存放数据,程序等信息的文件,一般为文本文件和二进制文件。
2 目录文件(d):文件系统中一个目录所包含的目录文件,包括文件名和子目录名。
3 链接文件(l):可以在不同的文件系统之间建立链接关系来实现对文件的访问。
4 设备文件(c):把IO设备映射为一个设备文件。
5 管道文件(p):主要用于在进程间传递数据。
文件权限
Linux文件权限字与权限操作
- chgrp: 改变文件所属群组;
- chown:改变文件所有人;
- chmod:改变文件的属性;
改变所属群组chgrp
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目 录下的所有文件的属组都会更改。
改变文件属性chmod
第二种数字的方式:
owner = rwx = 4+2+1 = 7
group = rwx = 4+0+0 = 4
others= --- = 4+0+1 = 5
chmod 676 a.info
改变文件拥有者chown
语法
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
Linux路径
. : 当前用户所在目录
.. :表示上一级目录
~ : 表示当前用户自己家目录
~ USER:表示用户名为USER的家目录。这里的USER是 在/etc/passwd中存在的用户。
Linux处理文件目录的常用命令
pwd (显示目前所在的目录)
mkdir (创建新目录)
参数: -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
[xiaomi@localhost tmp]$ mkdir -p a/b/c
rmdir (删除空的目录)
-p :从该目录起,一次删除多级空目录
cp (复制文件或目录 )
cp 即拷贝文件和目录。copy的意思。
cp [-adfilprsu] 来源档 目标档
选项与参数:
-r:递归持续复制,用於目录的复制行为
rm (删除文件或者目录)
rm [-rf] 文件或目录
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
mv (移动文件与目录,或修改名称)
mv [-fiu] 资源 目标
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
vi/vim 使用实例
vi或vim是Linux最常用的文本编辑器工具,vi或vim没有图形界面编 辑器那样单机鼠标的简单操作,但vi编辑器在系统管理、服务器管 理中,永远是图形界面的编辑器所不能比的。
命令模式
编辑模式
常用语法
1)进入编辑模式
(1)i 当前光标前
(2)a 当前光标后
(3)o 当前光标行的下一行
2)退出编辑模式
按『Esc』键
底线命令模式
shift+zz 保存退出
cat(显示文件内容)
cat [-AbEnTv] 文件
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
tac(倒着显示文件内容)
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl(显示行号看文件)
nl a.info
more(一页一页的显示文件内容)
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less(往前翻页)
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
head(只看头几行)
取出文件前面几行
head [-n number] 文件 -n :后面接数字,代表显示几行的意思
tail(只看尾几行)
取出文件后面几行
tail [-n number] 文件 -n :后面接数字,代表显示几行的意思
Linux打包压缩与搜索命令
tar 命令
tar [选项] [文件]
选项:
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩 Gzip
-x 解包.tar文件
压缩 tar -zcvf XXX.tar.gz n1.txt n2.txt
解压:tar -zxvf XXX.tar.gz
压缩目录 tar -zcvf test.java.tar.gz test1
解压到/opt目录 tar -zxvf test.tar.gz –C /opt 大写C
gzip/gunzip压缩
gzip+文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip+文件.gz (功能描述:解压缩文件命令)
grep 搜索命令
grep [参数 查找内容 源文件] 搜索文件里面的内容
选项:
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
-E :开启扩展(Extend)的正则表达式
grep -n "aa" a.info 显示行号在文件a.info搜索内容aa
find 命令用于按照指定条件来查找文件。
find [查找路径] 寻找条件 操作
按文件名:根据名称查找/目录下的filename.txt文件。
find /opt/ -name *.txt
按拥有者:查找/opt目录下,用户名称为-user的文件
find /opt/ -user xiaomi
reboot 命令
reboot 命令用于重启系统,其格式为 reboot。 由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只 能使用 root 管理员来 重启.
poweroff 命令
poweroff 命令用于关闭系统,其格式为 poweroff。 该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此 默认只有 root 管理员才 可以关闭电脑.
wget 命令
wget 命令用于在终端中下载网络文件。
wget [参数] 下载地址
参数:
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
尝试使用 wget 命令下载tomcat。
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
报错:
ERROR: cannot verify dlcdn.apache.org's
certificate, issued by ‘/C=US/O=Let's
Encrypt/CN=R3’:
解决:
yum install -y ca-certificates