1. 目录\"/etc/skel\"下的文件将在用useradd创建新用户时被拷贝到新用户的$HOME下。 2. 系统启动的一些知识:
run level 系统的运行级别,一般3是普通的非X,5是X界面的.
/etc/inittab 是init的配置文件,其中每一行用:分割成4列,第一列是标识符,第二列是包含在哪个运行级下,第三列是在那种情况下运行,第四列是运行的命令及参数(id:runlevel:action:process). /etc/inittab第三列参数的常见含义
initdefault定义一个系统启动后进入的运行级
wait会被执行一次的进程 (当进入运行级的时候)init 进程将等待这个进程被终止 boot定义一个启动的时候执行的进程,忽略runlevel的选项
bootwait与 boot 类似 ,不过init在继续运行前等待进程的终止,忽略runlevel的选项 sysinit定义一个进程在 boot的时候执行,在任何boot或者bootwait inittab 条目的前面执行,忽略runlevel的选项
标识为l0-l6的行会通过给rc脚本0-6的参数(rc一般在/etc/rc.d或者/etc/init.d目录下)
/etc/rc.d下的rcX.d目录下是在相应的X运行级时所执行的脚本的符号链接,K 打头的是退出该运行级时执行的,S打头的是进入该运行级执行的,S或K后所跟的数字是运行该脚本的先后顺序,数字小的先行.如果从一个运行级进入另一个运 行级,只kill当前级别有而新级别里没有启动的服务,并开启新的服务.rc脚本会根据相应的S还是K给出参数(如start,stop,restart 等).
一般会有一个boot脚本/etc/init.d下启动一些基本服务,如磁盘缓存更新,动态加载内核模块,挂载文件系统之类的工作,halt脚本为关机是使用得跟boot对应的. SUSE可能会使用/etc/rc.config来配置服务.
SUSE的/sbin/init.d/skeleton是一个制作init脚本的模版.
系统配置文件一般在/etc/sysconfig(redhat是这个)或/etc/rc.config.d目录下.
改网卡配置,修改/etc/sysconfig/network-scripts/ifcfg-eth0或类似的文件,ifdown/ifup eth0生效,SSH之类的远程登录时勿用!
3. 使用 lsof 查找打开的文件
lsof命令会列出当前打开的所有文件,需用root运行,直接从proc读信息 lsof -p PID 可以列出PID进程打开的文件 lsof 文件名 可以列出占用该文件的进程
4. /etc/pam.d 或 /etc/pam.conf 控制着 Pluggable Authentication Modules (PAM),一种通用的验证模块
5. /etc/profile.d 目录下包含了该系统提供的多种shell的默认配置
6. /etc/security目录下包含了安全控制信息,如/etc/security/access.conf控制哪些用户可以以哪种方式登录,/etc/security/limits.conf控制了系统的一些值,如最大进程数.
7. /proc 是 pseudo-filesystem可访问内核的一些参数,避免直接从/dev/kmem读写内核内存
8. /var 系统运行中会变化的数据如log等.
9. cron 特定间隔运行 ,at 指定时间点运行,batch 指定时间点且系统空闲时运行 10. man 数字 关键词 从指定数字的section查关键词 man -k 关键词 查询手册页含关键词的页面 man -K 关键词 在手册页的所有部分查关键词
/etc/man.config包含了手册页的所在路径,也可通过设置MANPATH环境变量来override whatis 命令名 打出相应的命令简要提示
whereis 命令名 打出相应命令的所在位置和其手册页位置 which 命令名 同上,但是只能查$PATH路径下的 11. rpm的用法:
rpm -ql 包名 列出该包所安装的文件。
rpm -qf 全路径文件名 指出哪个包安装了该文件。 rpm -qp 文件名.rpm 列出该rpm包的信息。
rpm -V 包名 校验该包安装到系统上的文件是否已经被改动了。 rpm -K 包名 校验该包文件的完整性。
12. find && xargs
find pathname [-print -exec -ok ...] { } \\; 如:find . -type f -exec ls -l { } \\;
xargs - build and execute command lines from standard input 把获取到的参数分次传递给其他命令
如:find . -type f -print | xargs file 详见引文\"Linux文件查找命令find,xargs详述\"
如需对同一个{}执行多条命令,重复使用-exec COMMAND {} \\;即可
13. Solaris如何更改机器名字和IP地址 /etc/hostname.[网卡名称] 内含主机名
/etc/hosts 网络中主机名的IP地址的对应表
/etc/netmasks 设置网络号及网络掩码
/etc/nsswitch.conf 域名解析的方法及顺序
/etc/resolv.conf DNS Server的地址及域名
/etc/defaultrouter 设置缺省的网关地址
/etc/nodename 主机名
14. Solaris 下设置动态链接库的加载路径:
crle显示原有路径,crle -l 路径名 添加动态链接库路径,务必包括原来的路径,帮助说是-l添加路径,实际上是alternate 路径 15. ls -q 提示不可打印的字符。
16. 特殊组合键:Ctrl+H可能可以充当Backspace;Ctrl+S把当前进程弄进睡眠,Ctrl+Q唤醒睡眠的进程.Ctrl+Z把一个进程调入后台,用bg命令调回前台.CTRL-D 文件结束或者退出shell. Ctrl-J替代Enter
17. kill -l列出信号所对应的数值. killall/pkill 命令名,根据命令名杀死进程 -i可杀前确认.
pkill -u 用户名 进程名:kill 以某用户权限运行的某程序。
skill [signal to send] [options] process selection criteria 发送指定信号给符合选择规则的程序
参数可为终端名,用户名,pid,命令名等。
18. apropos 关键词 whatis 关键词 可以找到相应的manpage,apropos的结果更加繁杂一些。
19. 如果参数中带有- 可在命令选项后跟 -- 代表选项结束. 20. which 命令名 察看实际运行的命令是哪个
21. 环境变量只在当前shell下有效,如果要导出至子进程需要前面加export.如果是shell脚本的形式设置变量值,实际上是要影响父进程的环境变量,应当用source 脚本或者. 脚本 才可以. $TERM 终端类型 $PS1 提示符 $LOGNAME 登录名 $PS1的特殊字符集含义
PS1='\:\\w> ' \rname \\h Hostname
\\H The fully-qualified hostname \\w Current working directory \\d date
\ the current time in 24-hour HH:MM:SS format \\T the current time in 12-hour HH:MM:SS format \\@ the current time in 12-hour am/pm format \\A the current time in 24-hour HH:MM format \\l the basename of the shell's terminal device \\e Escape character \\n newline
\\r carriage return 22. 访问权限设置相关 chmod 的应用对象的代码
u user's permissions g group's permissions o others' permissions
a all permissions (user, group, and other) umask 设置访问权限掩码,即创建文件时会被mask的位 chown 用户名 要改变的文件名 chgrp 用户名 要改变的文件名
chown 用户名:组名 要改变的文件名 同时改变所有者组 --reference=文件名 可以根据已有文件的属性设置 23. 符号链接 ln -s 原始名 链接名
24. double-quotes (\"), single-quotes ('), and back-quotes(``) (also called back-ticks)的区别
\"\"取消括在其内的除$,\\,`,\"的字符的特殊意义
''single-quotes 取消括在其内的所有特殊字符的特殊意义
``back-quotes 执行command substitution,替换其内的命令为命令的执行结果 25. Solaris的服务管理:svc*系列命令 重新启动ssh服务 svcadm restart ssh 列出当前系统服务 svcs
26. Solaris为什么不能在/home下创建目录?
Solaris的用户目录应该创建在/export/home下,不建议直接使用/home。 这 是因为Solaris的/home目录是由automounter控制的,只有automounter可以在这个目录下创建文件。如不用 automounter管理/home目录,可以在删除
/etc/auto_master文件中包含\"/home\"的那行,并运行automount -v让设置生效,当然reboot也可以。
27. Solaris解压缩bz2文件 bzip2 -d 文件名, gz文件 gunzip 文件名,添加软件包pkgadd -d 包名。
28. FreeBSD的toor用户,root的对应用户,如:更改root的默认shell之前可先用toor用户作试验。
29. 流控停止字符问题,特别是VIM常见
由于ctrl+s被很多终端驱动认为是停止发送数据的控制字符,所以如键入ctrl+s可 能会导致终端被hung,此时按ctrl+q可以 重新打开发送。或者用stty命令中止该功能:stty -ixon -xoff或者更换起止字符:stty stop ;stty start ; 30. Solaris 忘记root密码的解决办法:
[S10u1|S11]:新版本的Solaris系统采用grub作为引导程序,因此不需要光盘引导: 1. 首先,在grub的菜单中选择fail safe的选项引导系统 2. 引导后,系统会提问是否mount根分区到/a上,选择是 3. 按照前面的方法编辑/a/etc/shadow文件,保存、重启系统。
[S9|S10]:用solaris的software1/2光盘引导系统,修改口令即可。 * 首先要用光盘引导系统:
[X86]:x86没有OBP,只需要设置BIOS或者通过引导菜单,选择从CDROM上引导系统。 [Sparc]:任何时候通过Stop+a(SUN键盘)或者ctrl+break(PC键盘)进入到OBP提示符下输入:
ok boot cdrom -s
* 然后,mount根分区,打开shadow文件:
mount /dev/dsk/c0t0d0s0 /mnt (这里假设你的硬盘上的/区是/dev/dsk/c0t0d0s0) vi /mnt/etc/shadow
* 最后,编辑shadow文件,把root用户的密码删除,保存文件、重新启动后,就不会有口令了。
31. Solaris中类似rpm -qf的用法 pkgchk -lp 要查找的全路径文件名
grep 要查找的全路径文件名 /var/sadm/install/contents (传统办法,输出比较杂)
32. Samba和Fedora的问题,如出现路径找不到的情况可能是由于SELinux的问题,修改/etc/selinux/config 将selinux设置成disable或permissive(仅仅警告)可临时解决问题。 33. 如何踢掉用户:
(1)who看到从哪个终端上来的,如pts/1
(2)ps -e | grep pts/1 | grep bash 找到登陆的shell进程pid (3)kill -9 pid 杀掉其bash
34. chkconfig修改init.d自动运行:
chkconfig --level 2 crond off 关闭运行级2的crond服务 chkconfig --list 列出服务 chkconfig --del 名字 删除服务
chkconfig --add 名字 加入服务,需事前将符合格式的启动脚本放入/etc/init.d,且脚本头部应有
#chkconfig: 2345 80 05
#description: Oracle 8 Server
类似的两行注释,代表2345运行级别上启动该服务,启动优先级为80,停止优先权为05
35.PSmisc package----一个针对proc文件系统的小型工具包,一般Linux发行版都带有它
fuser - identifies what processes are using files,类似lsof
killall - kills a process by its name, similar to a pkill found in some other Unices.
pstree - Shows currently running processes in a tree format. pidof - Finds process id of running programs, similar to pgrep found in some other Unices.
36. xinetd服务:/etc/xinetd.d目录下的配置文件是启动具体服务的配置文件,
/etc/xinetd.conf是xinetd自身的配置文件。/etc/rc.d/init.d/xinetd是控制xinetd服务的脚本,
/etc/rc.d/init.d/xinetd restart可以重新启动xinetd服务。
37.Solaris默认不允许root登录SSH:修改/etc/ssh/sshd_config中的PermitRootLogin然后重新启动ssh服务
38.Solaris设备管理: cfgadm
cfgadm -c configure 通道号,激活设备 cfgadm -l ,列出当前的所有设备状况
39.tar的参数 x 解包,v 冗余输出,f 指定文件名,t 仅测试性的查看包内容而不实际释放
40.如何查找某目录下的文件是否包含特定的字符串: grep -rH 待查字符串 目录或文件名
-H 是为了每次match的时候还打印出相应的文件名 -r 是递归查找
41. strace-trace system calls and signals,用法 strace 命令名,可记录下该命令调用的系统调用和信号
42.如何启动rsh,rlogin,rexec服务:
一般linux出于安全考虑默认不会启动这些服务,需要安装rsh-server软件包,会在/etc/xinetd.d或目录下生成相应的文件,如rsh,rlogin,rexec
root的~目录下的.rhosts用来控制允许那些用户登录,通常用\"+ +\"代表允许任意用户
登录(Linux可能需要用\"+对方机器名 用户名\"的形式)。
由于linux下使用pam做验证机制,如使用.rhosts来控制访问还需要修改
/etc/pam.d/rlogin,rexec,rsh等相应的配置文件,必要时将auth sufficient pam_rhosts_auth.so放置在首行。
43.看当前运行的Linux内核的编译选项:zcat /proc/config.gz
44.Linux分区和启动相关:
sfdisk : 查看和修改分区表
sfdisk -l /dev/sda 查看sda的分区表
df:查看文件系统信息
df –T 显示已经挂载的文件系统类型
分区标签:可在/etc/fstab里挂载时使用标签名而不是诸如/dev/sda1的分区名 e2label /dev/sda1 <---> 显示/dev/sda1上的标签 e2label /dev/sda1 / <---> 设置/dev/sda1上的标签为 / findfs LABEL=/ <---> 找到标签为/的分区 blkid <---> 查看分区上的文件系统类型
/etc/fstab 启动时自动挂载指定的分区,文件系统
45. SELinux: Security-Enhanced Linux
一种除文件权限之外的,访问控制系统。可以修改/etc/sysconfig/selinux来决定相应的SELinux级别和保护目标。
打开SELinux时,ext2/3文件系统会给予文件额外的安全属性。
fixfiles [verify|restore] 文件,校验/重置相应文件(递归的目录)的安全属性值
46.时区和时间设置:
通常有两个时钟:1.硬件时钟,也称RTC,一般是在主板上的石英钟。2.系统时钟,由OS的中断计数器保持的时钟。
分系统时间和硬件时间两种,系统时间是Linux系统运行时的时间,硬件时间是同步到CMOS内时钟的时间。
tzselect 用来选择相应的时区,输出结果可用来设置TZ环境变量 /etc/sysconfig/clock ,设置系统自身的时钟信息,内容如下例
ZONE=\"Asia/Shanghai\" UTC=false ARC=false
ZONE=\"Asia/Shanghai\" 系统所在时区,可以用tzselect得到
UTC=false 硬件CMOS时间是否使用UTC存储
ARC=false 是否在Alpha系统上
hwclock --hctosys 将系统时钟同步到硬件时间 hwclock --systohc 将硬件时钟同步到系统时间
可以通过 –-localtime 或 --utc选项来指明硬件时钟是否是UTC的 hwclock显示的总是硬件时钟计算过时差的本地时间,所以:
hwclock --localtime RTC用本地时间保存,因此不需要计算时差,显示真实的硬件时钟
hwclock --utc RTC用UTC时间保存,需要计算时差后,显示本地时间
/etc/adjtime记录了时钟漂移的数值和硬件始终是否是UTC的
设置日期和时间: date
date –s 20070426 设置日期为2007/04/26 date -s '14:00:00' 设置时间为14:00:00
date -s 042614222007.12 设置时间为2007/04/26 14:22:12 模式串为MMDDhhmmCCYY.ss
47. ipcs: 查看当前系统的ipc状态,如共享内存,信号量,消息队列的数量等。
48. 在RH-AS5上安装以Cent-OS为源的yum:
I386
rpm -Uvh
http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-0.0.el5.centos.2.i386.rpm
http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.0.0-2.i386.rpm X
rpm -Uvh
http://mirror.centos.org/centos-5/5/os/x86_/CentOS/centos-release-notes-5.0.0-2.x86_.rpm
http://mirror.centos.org/centos-5/5/os/x86_/CentOS/centos-release-5-0.0.el5.centos.2.x86_.rpm
49.在X86的RH-AS5上安装并打开gdm的远程root登录: yum install gdm.i386
打开并编辑/etc/X11/gdm.conf(文件名可能不同如/etc/gdm/custom.conf),修改如下选项:
[security]
AllowRoot=true
AllowRemoteRoot=true [xdmcp]
Enable=true
修改后需重启gdm,killall gdm即可。
50. AIX的X出现\"Couldn't open console\"错误:
(1)用df命令检查文件系统是否满载,特别是/及/var文件系统。
(2)用如下命令,检查IP和机器名设置是否正确 hostname uname -n
cat /etc/hosts
(3)用 smitty mktcpip 命令检查TCP/IP的设置是否正确,如设置了DNS 域名解析,要保证DNS服务器能被访问到。
(4)检查 /etc/dt/config/Xconfig是否存在,配置是否正确,如不确定可以将/usr/dt/config/Xconfig拷贝过去覆盖(cp /usr/dt/config/Xconfig /etc/dt/config/)
(5)重新启动dt:
/usr/dt/bin/dtconfig -kill
ps-ef|grep dt 查看是否有dtlogin进程,如果有,用kill -9 PID 处决 /etc/rc.dt 启动CDE桌面
(6)重新安装 X11.base.rte, X11.Dt.rte 和 X11.Dt.helpinfo
51. 查看Linux的发行版:
可以用lsb_release -i 来查看发行版,但并非所有Linux都安装了该命令。
52. 查看SCSI硬盘的大小:/proc/partitions 或 /sys/block/sdX 里的信息。
53. SUSE9上打开root的XDMCP访问:
(1)打开/etc/X11/xdm/xdm-config:注释以下一行
\"DisplayManager.requestPort: 0” -->; “!DisplayManager.requestPort: 0”
(2) 打开/etc/X11/xdm/Xaccess,去注释以下一行。
\"#* # any host can get a login window”-->; “* # any host can get a login window”
(3)打开/etc/X11/xdm/Xservers:注释以下一行
\":0 local /usr/X11R6/bin/X” -->; \"#:0 local /usr/X11R6/bin/X\" (4)修改/etc/sysconfig/displaymanager,使
DISPLAYMANAGER_ROOT_LOGIN_REMOTE=\"yes\"
DISPLAYMANAGER_REMOTE_ACCESS=\"yes\"
(5)重启xdm
54. 使用Rsync服务(Solaris): rsync是一种用来同步文件的服务。 (1)安装rsync包。
(2)建立/etc/rsyncd.conf,rsync的daemon会使用此配置文件。 配置文件内容示例如下:
uid = root #使用的uid和gid,一般为nobody,但要读取某些无权限的文件设为root
gid = root
use chroot = yes max connections = 3
syslog facility = local5
log file = /var/log/rsync.log #log文件的位置 pid file = /var/run/rsyncd.pid
hosts allow = 10.1.1.244 #允许使用此服务的IP
[rsync244] #模块名,一般一个模块导出一个目录 path=/data #导出的目录 read only=yes list=yes
comment=rsync244 #注释
(3)启动rsync:
/usr/local/bin/rsync --daemon & 通常为了使服务自动启动:
在/etc/init.d下建立启动脚本,并将其链接到相应级别的/etc/rcX.d目
录下
(4)使用rsync命令同步文件:
rsync -trvoglpcE --exclude-from=/exclude_list --delete --delete-excluded --force --progress rsync://10.1.1.244/rsync244 /data2 选项说明
--exclude-from=/
55. telnet服务的异常错误:
服务正常开启,但登录时出现“Name or service not known: Illegal seek”
可尝试在/etc/hosts内加上本机全域名和ip的对应关系。
56. Putty下使用数字小键盘异常:选择 Terminal->Features->钩上 Disable application keypad mode
57. Solaris的Locale设置:
/usr/lib/locale 下可以看到安装了哪些语言包,或使用locale -a localeadm可以修改locale的配置
58. 用Redhat安装光盘启动修复grub:
用rescue模式启动,原/系统会被挂载在/mnt/sysimage目录下。 确认grub配置正确,执行chroot /mnt/sysimage。 执行grub-install重新安装grub
59.查看Linux SCSI模块参数,最大LUN等: /sys/module/scsi_mod/parameters
60.允许root用户在Solaris使用Xmanager登录:
打开/etc/default/login 注释掉CONSOLE=/dev/console,并通过/etc/init.d/dtlogin重启dtlogin
61.打开RHEL的Telnet服务:
(1)检查是否安装了telnet-server包: rpm -qa | grep telnet
(2)修改/etc/xinetd.d/telnet文件的disable=yes为disable=no (3)检查并开启telnet服务:
chkconfig --list | grep telnet (应返回 telnet on)
chkconfig --level 345 telnet on
(4)重启xinetd服务 service xinetd restart (5)打开root登录权限:
可简单注释掉/etc/pam.d/login和/etc/pam.d/remote内的如下一行 auth required pam_securetty.so
62.打开RHEL上的rsh/rexec/rlogin服务: (1)检查是否安装了rsh-server包 rpm -qa | grep rsh
(2)修改/etc/xinetd.d/rsh、rlogin、rexec的disable=yes为disable=no (3)
检查并开启rsh服务:
chkconfig --list | grep rsh (应返回 rsh on) chkconfig --level 345 rsh on (4)重启xinetd服务 service xinetd restart (5)打开root登录权限:
可简单注释掉/etc/pam.d/rlogin、rexec、rsh内的如下一行 auth required pam_securetty.so
或在/etc/securetty加入rexec、rlogin、rsh
63.在Solaris上使用ISO文件:
x.iso
auto create device name /dev/lofi/1 lofiadm -a x.iso mount iso
mount -F hsfs -o ro /dev/lofi/1 /cdrom delete device name
lofiadm -d /dev/lofi/1 x.iso
.如何通过proc看一个文件描述符对应的真实文件: /proc/$PID/fd/ 下即文件描述符对应真实文件的链接.
65.Solaris下查看硬件信息: CPU: psrinfo -v
内存等其它硬件信息:prtdiag v 或 prtconf -v 66.Solaris的jumpstart安装: (0)配置好jumpstart上的参数
(1) 通过管理console,break -y 进入OK{}状态 (2)boot net - install
67. 使系统在程序崩溃时保存core: ulimit -c unlimited
68.在SUSE下打开ftp服务(不安全):
(1).修改/etc/vsftpd.conf:去掉下述三个选项之前的注释anonymous_enable=YES,write_enable=YES,local_enable=YES (2).去掉/etc/ftpusers文件中允许用来登录ftp的帐户名 (3).重启xinetd服务/etc/init.d/xinetd restart
(4).如出现421错误,去掉/etc/vsftpd.conf内listen=yes之前的注释符 69.查看NFS Server的导出: showmount -e 服务器名 70.自动mount nfs: (1) 修改/etc/fstab:
在/etc/fstab新增如下一条记录:
autofs 服务会根据/etc/auto.master文件来控制自动挂载命令:automount的命令可以更加方便的指定挂载点,主机名, 输出目录等等。autofs的配置文件以父-子关系来组织,主配置文件(/etc/auto.master) 列出了所有的挂载点,然后他会连接到一个特定的映射类型, 这个类型可以是配置文件,程序, NIS映射或者其他挂载方式,auto.master文件包含了如下内容: - 可以使用nfs的选项替换 使用NFS服务器的输出路径替换如上的 . 使用nfs的选项替换
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务