linuxag命令 linux命令 !
linux下用什么命令更改文件的读写执行权限?
查看文件权限的语句:\x0d\x0a在终端输入:\x0d\x0als -l xxx.xxx (xxx.xxx是文件名)\x0d\x0a那么就会出现相类似的信息,主要都是这些:\x0d\x0a-rw-rw-r--\x0d\x0a一共有10位数\x0d\x0a其中: 最前面那个 - 代表的是类型\x0d\x0a中间那三个 rw- 代表的是所有者(user)\x0d\x0a然后那三个 rw- 代表的是组群(group)\x0d\x0a最后那三个 r-- 代表的是其他人(other)\x0d\x0a然后我再解释一下后面那9位数:\x0d\x0ar 表示文件可以被读(read)\x0d\x0aw 表示文件可以被写(write)\x0d\x0ax 表示文件可以被执行(如果它是程序的话)\x0d\x0a- 表示相应的权限还没有被授予\x0d\x0a现在该说说修改文件权限了\x0d\x0a在终端输入:\x0d\x0achmod o w xxx.xxx\x0d\x0a表示给其他人授予写xxx.xxx这个文件的权限\x0d\x0achmod go-rw xxx.xxx\x0d\x0a表示删除xxx.xxx中组群和其他人的读和写的权限\x0d\x0a其中:\x0d\x0au 代表所有者(user)\x0d\x0ag 代表所有者所在的组群(group)\x0d\x0ao 代表其他人,但不是u和g (other)\x0d\x0aa 代表全部的人,也就是包括u,g和o\x0d\x0ar 表示文件可以被读(read)\x0d\x0aw 表示文件可以被写(write)\x0d\x0ax 表示文件可以被执行(如果它是程序的话)\x0d\x0a其中:rwx也可以用数字来代替\x0d\x0ar ------------4\x0d\x0aw -----------2\x0d\x0ax ------------1\x0d\x0a- ------------0\x0d\x0a行动:\x0d\x0a 表示添加权限\x0d\x0a- 表示删除权限\x0d\x0a= 表示使之成为唯一的权限\x0d\x0a当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:\x0d\x0a-rw------- (600) 只有所有者才有读和写的权限\x0d\x0a-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限\x0d\x0a-rwx------ (700) 只有所有者才有读,写,执行的权限\x0d\x0a-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限\x0d\x0a-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限\x0d\x0a-rw-rw-rw- (666) 每个人都有读写的权限\x0d\x0a-rwxrwxrwx (777) 每个人都有读写和执行的权限
创新互联公司2013年至今,先为天元等服务建站,天元等地企业,进行企业商务咨询服务。为天元企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
LINUX 把已有用户加入到一个组,怎么加的
可以使用usermod命令。usermod可用来修改用户帐号的各项设定。
需要使用的参数:
-g|--groups
##把用户追加到某些附属组中,仅与-a选项一起使用
用法示例:
将user1用户加入到group1组当中
$
usermode
-ag
group1
user1
Linux实用命令有哪些?
1选择
1.1一个文件的名字为rr.Z,可以用来解压缩的命令时()
tar
gzip
compress
uncompress
1.2可以结束进程命令()
kill
ctrl+c
shutdown
halt
1.3 Linux下对文件进行归档的命令为:(多选)
dd
tar
zip
unzip
1.4 Linux查当前目录下30天以前的文件并移动到/dev/null下的命令:(多选)
find.-mtime 30-type f xargs mv{}/dev/null;
find.-mtime+30-type xargs mv{}/dev/null;
find.-mtime+30-type f-exec mv{}/dev/null;
find.-mtime+30-type f-exec rm–rf{};
1.5 dstat与下面哪个命令类似
vmstat
sar
iotop
abc
1.6 rpm安装软件的参数
rpm-ivh
rpm-Ivh
rpm-Uvh
rpm-Iuvh
1.7 yum升级软件包选项
rpm-uvh
rpm-Uvh
1.8查看网络流量命令是?
iftop
nsload
ifstatd
以上命令全可以
1.9停止进程的命令,除了kill还有谁?
pkill
killa
allkill
以上命令都不正确
1.10服务器之间传文件的命令有?
wget
scp
ftp
以上命令都可以
1.11对文件进行归档的命令为
dd
cpio
gzip
tar
1.12在rpm命令中,安装新的rpm包软件使用的参数是()
-i
-v
-h
-e
1.13du命令中,使用友好的方式显示信息的参数是()
-h
-f
-a
-t
1.14将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式___
tar zxvf/home/stud1/wang.tar.gz/home/wang
tar xcvf/home/stud1/wang/home/wang
tar zcv/home/stud1/wang/home/wang
tar zcvf/home/stud1/wang/home/wang.tar.gz
1.15终止一个前台进程可能用到的命令和操作()A:kill
B:CTRL+C
C:shutdown
D:halt
1.16关闭Linux系统(不重新启动)可使用命令()
A:Ctrl+Alt+Del
B:halt
C:shutdown-r now
D:reboot
1.17下列提法中,不属于ifconfig命令作用范围的是__
A:配置本地环回地址
B:配置网卡的IP地址
C:激活网络适配器
D:加载网卡到内核中
1.18有关归档和压缩命令,下面描述正确的是()
A:用uncompress命令解压缩由compress命令生成地后缀为.zip的压缩文件
B:upzip命令和gzip命令可以解压相同类型文件
C:tar归档其压缩的文件可以有gzip命令解压缩
D:tar命令归档后的文件也是一种压缩文件
1.19终止一共前台进程可能用到的命令和操作
kill
ctrl+c
shut down
halt
1.22为了将当前目录下的归档文档myftp,tar解压缩到/tmp目录下,用户可以使用命令
tar xvzf my
tar xvzf my
tar vzf my
tar xvzf my
1.23下面有关linux查看系统负载的命令,说法错误的是?
uptime命令主要用于获取主机运行时间和查询linux系统负载等信息
vmstat命令可以查看cpu负载
sar命令可以查看网络接口信息
free命令可以查看磁盘负载情况
1.24以下哪些方式/命令不可以查看某ip是否可达?
telnet
ping
tracert
top
1.25 tar命令用于解压的参数是?-v-x-c-f
1.26下面哪个命令不是用来查看网络故障?
telnet
ping
init
netstat
1.28为了知道谁在正注册到你的机器上,可以用命令:___
Who users finger ping
1.29查看本网段其他计算机的MAC地址,可先ping对方主机,然后;
arp-g
arp-n
arp-a
arp-d
1.3014日下午2点date+%y%m%d%H%M输出的时间是什么
201711141212
1711141212
2017111412
201711021212
1.31以下哪个命令可以得出1487进程的线程运行情况()
top-Hp 1487
top-Pp 1487
ps-mp 1487
sat-p 1487
1.32从/home/oracle下搜索一个日志文件alert.log,以下哪种方式可达到目的()
find/home./oracle-name alert.log
locate alert.log
find./-mtime 7 alert.log
find/home/oracle-exec alert.log
1.34以下哪些命令可以用来测试网络中特定主机的80端口是否可以访问()
Ping telnet netstat lsof
2填空
2.1测试网络中主机的连通性用什么命令
2.2如何查看numa是否关闭_**_
2.3将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式_**
2.4某个进程使用端口7001,如何快速找到该进程的PID
2.5结束后台进程的命令是**_**
2.6将/home/studl/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此存到/home目录下,实现此任务的tar命令格式******__******
2.7 ping100个包的命令——
2.8 linux下,解压缩bz2格式文件的命令是**_**
2.9 linux下,查看网络连接状态的命令是**___**
2.10Linux查看文件系统的命令为__,显示目录或文件占用磁盘的命令为___
2.11通常我们测试网络连通性使用的ping命令,它是通过____协议进行工作的
2.12简述下列命令的各自作用
nslookup
dig
top
traceroute
2.13将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此问价保存到/home目录下,实现此任务的tar命令格****_****
2.14Linux系统查看进程数的命令___
2.15Linux系统查看系统内存的命令:____,**__**
2.16Linux系统查看cpu使用率的命令:____,**__**
2.17Linux系统查看硬盘空间使用率的命令:___
2.18Linux系统将某一文件下的所有.log文件进行打包压缩,命令为___
2.19Linux常用的性能监控命令是:_、_、_、_、_、_等
2.20假设output程序可能输出标准输出和标准错误,请写出一条命令把这两者都忽略__
2.21 rpm软件包安装命令**_**
3简答
3.1查看硬盘结构显示的命令?查看文档命令?编辑文档命令?
3.2配置网络环境的命令,手工修改IP,主机名,DNS和网关
3.3有压缩包a.tar.gz,如何解压该包?如何不解压该包,如何查看该包的内容?
3.4某进程abcd在系统中起了很多,数量难以统计,造成系统负荷较高,如何一条命令确保将此进程全部杀掉
3.5某日志路径是/data/logs/a.txt,如何跟踪该日志,以查看当时的运行状态?
3.6 dmesg命令显示的是哪方面信息
3.7寻找名称为mytest.log的文件
3.8写出du-sh与df-h的区别
3.9查看当前linux服务器是否监听80端口,如果监听,请找出其进程ID,并结束该进程。
3.10使用curl或者wget获取http服务的header信息。
3.11写出查看linux系统性能的命令,如cpu、内存、流量、io等
3.12解释下列命令的意思
dd if=/dev/random of=/dev/sda
3.13如何查看占用端口8080的进程
3.14查着占用内存最多的进程
3.15压缩和解压缩目录/opt/gjsy/所有文件命令
3.16Linxu系统下如何查看8080端口上运行的程序状态
3.17ps aux中的VSZ代表什么意思,RSS代表什么意思?
3.18PING是使用TCP/IP协议中的**_**协议
3.19写出网络故障排查常用的命令**__**
3.20写出你常用的网络抓包工具,软件名称**__**
3.21将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式___
3.22解释该命令的含义:nohup zcat test.gz|grep"x6game"~/log.txt
2/dev/null
3.23查看系统硬件负载工具或命令有哪些
3.24使用lsof命令查看占用80端口的进程
3.25如何使用CURL测试POST接口
3.26怎样在目录/home/user/training/下找到扩展名为txt的文件
3.27最常用的网络测试命令有什么?
3.28ping的测试结果中都包含哪些部分?
3.29如何找出占用22端口的进程及进程号?
3.30如何删除当前目录(包含字目录)下所有30天以前创建的文件名后缀为.log的文件
3.31以下一些Linux命令的作用分别是什么?
init 0
chkconfig--level 3 sendmail on
tar-czvf test.tar.gz./
chown-R
ln-s/data/log//var/log/sina_log
umount-f/data0
rpm-ivh baihui.rpm
rpm-qf/bin/ls
3.32LINUX常用命令pwd、top、df、ifconfig、cat分别代表什么含义?
3.33linux常用命令:关机、重启、编辑某文档文件、删除某文件、更改操作系统密码命令分别是什么?
3.34请使用命令:删除/backup目录下10天前的普通文件
3.35如何查看服务器当前连接ip的列表
3.36写出liunx系统中diff、chmod、grep、kill、tar五个常用命令的功能
3.37简述tar-cjvf/tmp/test.tar.gz/root命令中错误及错误原因
3.38Linux系统从A服务器测试B服务器一个tcp端口是否联通使用___
3.39写一个脚本查找最后创建时间使3天前,后缀是*.log的文件并删除
3.40linux如何根据进程ID查找启动程序的路径
3.41查看占用swap的进程id
3.42列出linux常见打包工具并写相应解压缩参数(至少三种)
3.43Linux中锁定一个文件用什么命令?他和md5sum有什么区别?
3.44如何在系统中查找所有所属用户为user1的文件
3.45查看某个文件或者文件夹占用磁盘空间大小的命令
3.46如何查看远程linux系统运行了多少时间?我的服务器内存,cpu,硬盘都是多少,系统版本,linux会优先将数据缓存到内存中,我的机器真实内存消耗实际上是多少
3.47查看服务器当前开启了哪些端口?如何查看某服务器是否存在IO压力
3.48如何查看某个文件system.log被哪些进程占用
扩展
1.21在退出unix系统账户之后还需要继续运行某个进程,那么可用()
awk sed crontab nohup screen
1.20使用trace命令的目的是()
可用的,十分成功的测试手段
非常基本的测试手段
把IP地址和DNS加入路由表中
在源到目标传输的过程中查找失散点
1.27哪个变量用来指定一个远程x应用程序将输出放到哪个x server上
TERM
DISPLAY
ECHO
OUTPUT
1.33P系列服务器被用做文件服务器,所有的用户文件存都放在一非rootvg的文件系统上,用什么方法可以快速备份和恢复这些数据和文件系统的定义()
tar
cpio
savefs
savevg
用户管理
Linux是个多用户多任务操作系统,所有要使用系统资源的用户都必须向管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助管理员对使用系统 的用户 进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一 的用户 名和用户口令。用户在登录时输入正确 的用户 名和口令后,才能进入系统和自己的主目录。
实现用户的管理,要完成的工作主要有如下几个方面:
1、用户账号的添加、删除和修改。
2、用户口令的管理。
3、用户组的管理。
首先Linux用户类别有:
管理员,UID:root,0
系统用户,UID:1-499(CentOS 6),1-999(CentOS 7)
登陆用户,UID:500(CentOS 6),1000(CentOS 7)
用户组类别:
管理员组,GID:root,0
系统组,GID:1-499(CentOS 6),1-1000(CentOS 7)
普通组,GID:500(CentOS 6),1000(CentOS 7)
Linux组的类别:
用户的主要组(主组):每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。
用户的附加组(辅助组):一个用户可以属于零个或多个辅助组。
CentOS6和7的默认UID和GID不同,这个是由于/etc/login.defs文件里面的默认值所决定的
Linux用户和组的主要配置文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
该文件里面一共有7项,包括
# [root@centos ~]# cat /etc/passwd
# root(用户名):x(密码):0(UID):0(GID):root(注释):/root(家目录):/bin/bash(默认SHELL)
假如把普通用户的UID更改成0,该普通用户会变成管理员账号,因为在Linux系统里面,识别管理员是否为管理员,就是查看用户的UID号码,为0则为管理员,在生产环境中,可能会把管理员root的账号改成其他名字,这样做是以防止黑客攻击root账号来进行破解。
/etc/group:组及其属性信息
getent group [groupname]
# [root@centos7 ~]# cat /etc/group
# root(主组):x(组密码):0(GID):gentoo(附加组的用户列表)
组成员:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。
/etc/shadow:用户密码及其相关属性
# [root@centos 7~]# cat /etc/shadow
# root(用户名):$6$(加密方式为sha512加密)5wrv8BV(随机数,俗称盐)$n3wljU/4.OUa/X.RYOGbE3SX72vay1Qo1ZXiUNZhuQJIB7fdzE87gaCQiuiOZbin(用户密码):17110(从1970-1-1到最近一次修改的时间经过了多少天来表示):0(最小存活期,密码再过几天可以被更改):99999(最大存活期,密码过期时间):7(在正确登录时,密码过期前提醒时间):(在正确登录时,密码过期后几天账号会被锁定):(从1970年1月1日算起,多少天后帐号失效):(保留)
上面这个设置了密码显示的用户。
现在我们再新建一个用户看看
[root@centos6 ~]# useradd wang
[root@centos6 ~]# tail -1 /etc/shadow
wang:!!:17015:0:99999:7:::
我们会看见账号密码那里有两个!!,这表示账号被锁定,没有密码的话不允许该用户去登陆,假如有密码,但是那里还是有一个叹号的话,也表示账号被锁定,不对用户进行解锁的话该用户将无法登陆。假如没有叹号的话,该用户可以没有密码的情况下面直接登陆。不过该功能只能在CentOS 5版本和更老的版本可以实现,为了安全起见,从CentOS 6以后已经修正此问题。
/etc/gshadow:组密码及其相关属性
getent gshadow [groupname]
# cat /etc/gshadow
# root/(主组):(组密码):(组管理员列表):gentoo(附加组的用户列表)
当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。
当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。
注意:为安全起见,现在一般都没有组密码,直接管理员指派,因为当其他用户知道了组密码,可以随意加入该组,这样的话就显得不安全。
用户和组管理命令
用户管理命令: useradd usermod userdel
组的管理命令: groupadd groupmod groupdel
用户管理命令
useradd [options] username增加用户
-u UID username 创建用户时指定UID,(如不指定则Centos:500-60000, Centos7: 1000-60000)
-o 配合-u选项使用,不检查UID的唯一性,可以与已存在的用户的uid相同
-g groupname username 创建用户时,指定主组为某个已存在的组(将不会再创建与用户同名的组)
-G group1[,group2] username 指定用户的辅助组,但GID要事先存在
-N username 不创建私用组做主组,使用用户的主要组做主组
-d 目录: 指定家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
-c 备注 创建用户时指定描述信息
-s shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell
-r 创建系统用户 特点:CentOS 6: ID500,CentOS 7: ID1000 默认shell为/sbin/nologin
-D 显示或更改默认设置 (默认值设定:/etc/default/useradd或/etc/login.defs文件中)(此命令相当于cat / etc/default/useradd)
注:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd –D -s SHELL -d是指定用户的家目录和登录shell
注意:创建用户不加-d和-s是是系统默认的家目录(/home/qqq)和登录shell(/bin/bash)。
useradd –D –b BASE_DIR
useradd –D –g GROUP
[root@centos6 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
该命令,可以查看到创建用户时候的各项默认值
例如更改其他用户默认的家目录和默认SHELL之类等等的参数就在这里面
/etc/skel 家目录文件的来源,在此文件夹里面新建文件的话,创建新用户的时候会连指定的新文件一并创建
/etc/login.defs 一些用户和组等创建的默认设置的文件
usermod [options] username 修改指定用户(跟useradd命令使用方法类似)
-u UID 更改用户的UID
-g 组名 用户名 更改用户的主组
-G "" username 或 usermod -G primarygroup username 清空用户所有的辅助组
-aG 组名,可以追加辅助组而不用覆盖之前的组
-s SHELL 更改用户的默认SHELL
-c 注释
-d home,跟-m同时用移动家目录数据,并将家目录移动到目的目录并改名 (不会创建,只修改/etc/passwd当中的家目录信息)
-m 移动家目录数据,跟-d同时用
-l 新的名字,把用户改名
-e 指定过期日期yyyy-mm-dd
-f days 指定密码过期之后多少天帐户过期
-L 锁定指定用户,在/etc/shadow 里面加! (同以上/etc/shadow的解释)
-U 解锁用户,将/etc/shadow 里面的!号拿掉 (同以上/etc/shadow的解释)
userdel [options] LOGIN 删除指定用户
-r 连同家目录和邮箱一起删除
组的管理命令
groupadd [options] groupname 添加指定组
-g:指定用户的GID
-r groupname: 创建系统组 CentOS 6: ID500 CentOS 7: ID1000
groupmod [options] GROUP 修改指定组
-g newgid groupid: 修改组的GID
-n newgrpname oldgrpname: 修改组的组名
groupdel [options] GROUP 删除指定组
groupmems [options] [action] 更改和查看组成员
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p (CentOS 7才有此命令)
options:
-g, --group groupname 更改为指定组 (只有root)(查看组里有哪些用户)
-l -g 用户名: 查看指定用户名组下面还有哪些用户属于此组
-a 要增加的组
切换用户或以其他用户身份执行命令
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su – UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
换个身份执行命令:
su [-] UserName-c 'COMMAND'
选项:-l –login:
su -l UserName相当于su-UserName
查看用户相关的ID信息
id [OPTION]… [USER]
-u: 查看用户的UID
-g: 查看用户的GID
-G: 查看用户的Groups
-n: 查看用户的Name
修改用户密码策略
chage -l username 显示帐户的密码信息
-d 指定密码的上次修改时间(yyyy-mm-dd)
-d 0 则强制用户下次登录时必须修改密码
-E 指定账户的过期时间
-I 密码过期之后多少天帐户过期
-m 设置最小存活时间
-M 设置最大存活时间
-W 设置密码过期前的提醒时间
chage username 交互式修改用户的密码策略
示例:
chage -d 0 tom 下一次登录时强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
getent passwd,shadow,gourp,gshadow USERNAME/GROUPNAME
直接查看指定用户/组里面的passwd,shadow,gourp,gshadow文件里面的内容
其他命令总结:
chsh:修改默认的shell
chfn:修改用户注释
finger:查看个人信息
vipw:使用vim来编辑passwd文件
vigr:使用vim来编辑group文件
pwconv:pwconv命令用来开启用户的投影密码
pwunconv:pwconv命令用来关闭用户的投影密码
Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。
批量增加用户和改密码
newusers FILE(有格式的文件) 批量加用户 文件格式 /etc/passwd 文件的格式 root:x:0:0::/root:/bin/bash
ex. newusers user.txt
chpasswd FILE (有格式的文件) 批量改密码 USERNAME:PASSWORD
ex. cat p.txt |chpasswd
注意,按照以上步骤的方法批量添加完用户和密码以后,这些用户的家目录里面并没有配置,此时需要我们手动把这里面的配置复制到它们的家目录里面
/etc/skel 这个文件甲下面的文件是关于用户初始配置里面的变量文件之类
cp -r /etc/skel/.[^.]* /home/USERNAME
练习:
创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,
natasha,harry,sarah密码都是centos
groupadd admins
useradd -G admins natasha
useradd -G admins harry
useradd -s /sbin/nologin sarah
echo centos |passwd --stdin natasha /dev/null
echo centos |passwd --stdin harry /dev/null
echo centos |passwd --stdin sarah /dev/null
/dev/null是一个特殊的设备,就是一个数据黑洞,吞噬送往该设备的所有数据,以后如果不想让屏幕有显示可以,会经常用到这个/dev/unll 的数据吞噬设备
当前名称:linuxag命令 linux命令 !
本文链接:http://pwwzsj.com/article/doeeiho.html