您的位置:首页 > 编程语言 > PHP开发

PHP手记--之安装配置

2012-03-10 15:35 309 查看
1、RPM包安装时一般不能指定安装目录
正确 RPM一般是作者在编译的时候指定好了路径

2、卸载软件时如果有依赖关系就不能卸载
错误  可以强制卸装

rpm -e --nodeps

yum remove

3、使用yum安装时可以使用yum install -y自动安装
正确 使用y就不会出现提示

4、如果想查询一个软件包安装了哪些文件在系统可以使用命令rpm -qi
错误 QI是查询软件包的信息
查询软件是否安装 rpm -q rpm -qa
查询文件隶属的软件包 rpm -qf
查询软件包的信息 rpm -qi
查询软件安装了哪些文件 rpm -ql

5、校验软件包使用rpm -V显示5和T表示文件权限被更改过
错误  
M-mode权限更改 5-md5校验值更改 S-文件大小
U-所有者 G-所属组
T-修改时间 missing-文件丢失

rpm -V 软件包

rpm -Vf 文件

diff file1 file2

md5sum 值   Grub-MD5-CRYPT grub-md5-crypt

6、一个命令被误删除后只能重新安装命令对应的软件包
错误  可以提取安装包里的文件
重新安装软件包 yum remove yum install

rpm -i --replacepkgs 覆盖安装
提取文件 rpm2cpio 软件包 | cpio -idv .提取文件d软件结构  I 导入文件   V 信息

7、在光盘修复模式挂载光盘不能使用/dev/cdrom文件    dev/hdX
正确
光盘修复模式软链接失效

8、源代码包可以指定安装目录
正确

标准的源代码包安装流程:

1、解压解包 tar -zxf
进入源代码包目录

2、配置 ./configure

./configure 执行当前目录下的configure

configure 把configure当成命令执行在PATH中查找
指定安装目录 --prefix
默认目录:/usr/local/softwarename
作用:搜集系统软硬件信息生成编译文件makefile
安装相应的编译器 C语言-gcc C++语言-gcc-c++

./configure --help 查看配置选项

3、编译 make
作用:调用编辑器把源代码编译成文件

4、安装 make install
作用:拷贝编译文件和源代码包文档到安装目录(设置权限)

只有用RPM包安装的软件才能使用rpm/yum查询校验

检测源代码包是否安装成功

1、检测安装目录下文件

2、尝试启动服务
groupadd nogroup

/usr/local/proftpd/sbin/proftpd

ps -le | grep proftpd

* 源代码大多没有安装启动程序,所以不能使用service启动

卸载源代码包:

1、关闭服务进程

2、删除安装目录 rm -rf/usr/local/proftpd

脚本安装:
判断标准:是否有configure文件
查看源代码包目录下README或INSTALL文件

/etc/passwd 文件格式

root:x:0:0:root:/root:/bin/bash
root   :x:   0:  0 :
root:  /root:   /bin/bash
用户名 密码位 UID  GID描述  宿主目录   SHELL

root-用户名

x-密码位

0-UID User ID UID为0就是管理员

0-GID 用户缺省组的组ID

root- 描述 jacklee "project term 01 lisi"

/root- 宿主目录 root-/root
         username-/home/username
宿主目录:保存用户配置文件和数据

/bin/bash- 命令解释器   
系统的相关命令都在ETC/SHELLS下面 cat /etc/shells

/sbin/nologin 设定用户无法登录系统

Useradd 用户名。如果不指定用户组,则系统自动创建一个和用户名相同的组。

Linux中每个进程都要对应的一个用户身份。
/etc/shadow 格式
 保存用户密码


root:$1$VTECcrG1$1k2N5.6M9ki4qdAuf6QIS.: 15191:      0:     99999:       7:::
用户     密码          最后修改时间  密码最小天数  最大时间间隔  警告时间  

密码为空的在本地不需要密码就可以登陆,但远程登陆则禁止连接

Passwd -d 删除密码 

/etc/passwd

| pwconv 密码写入

/etc/shadow

Pwunconv 密码回写 如果执行pwunconv则shadow自动消失,
如果shadow没有,则系统启动不起来。因为LINUX系统启动的时候要验证帐号passwd及shadow文件

可以利用GREP来查看是否存在用户信息

Grep 用户 /etc/passwd
查看用户是否存在及用户的相关信息

存放用户信息的文件存放组的信息文件
/etc/passwd /etc/group
/etc/shadow /etc/gshadow

/etc/group 的格式

Sys : x: 3: root,bin,adm
组名组密码位组ID组内成员

为什么组要密码?
一个用户不隶属于某个组,如果有组密码也可以临时声明为组成员。
如何设置组密码?

Gpasswd 组名 设置组密码 gpasswd webadmin

Grep webadmin /etc/gshadow
只有两类用户可以对组进行管理:root组管理员
/etc/gshadow配置文件格式

Adm : : :root,adm,daemon
组名: 组密码:
组管理员: 组内成员

/etc/skel 新添加用户配置文件
用于配置

/etc/motd 登陆后给用户显示信息

/etc/issue 登陆前给显示信息

案例:手工添加一个用户 hward

1、生成用户信息 /etc/passwd
组ID 指定缺省组

hward:x:510:511:projectzhangsan:/home/hward:/bin/bash   注意:这里指定的组ID必须存在

2、生成用户密码 /etc/shadow
密码 直接复制其他用户密码

hward:$1$U8/GDI/M$ZktOqoLYzumK/zYyVoYgB1:15192:0:99999:7:::

3、把用户加入用户组 /etc/group /etc/gshadow

webadmin:::hward     记得要将用户加入到组里面去

4、创建宿主目录并更改权限

cp -r /etc/skel/home/hward       skel
下面存在默认新用户配置文件
宿主目录权限700,所有者为此用户,所属组为此用户缺省组

chmod -R 700/home/hward ; chown -R hward /home/hward ; chgrp -R webadmin /home/hward
命令添加用户:

useradd 选项用户名

-u UID   没有什么用。系统创建时自动累加
-g 缺省组GID/组名 *
-G 指定隶属多个组 *

-d 宿主目录 directory

-s 命令解释器 shell
-c 描述 comment *
-e 失效时间 expire YYYY-MM-DD *

useradd -gwebadmin -c "project zhangxiaoguang" -e 2011-09-30 admin

passwd admin

特殊权限

SetUID :权限在文件所有者x位置标记s

1、可执行文件授权

2、执行时会以授权文件的所有者身份执行

* 所有命令默认的所有者都是root

chmod u+s 4755

SetGID 概念和SetUID一样,执行时所属组会以文件所属组身份执行

chmod g+s 2755 6755
取消SetUID u-s g-s 755

案例1:授权touch/mkdir具有SetUID      前提:文件可执行

su – hward  切换到hward 用户

touch file01    新建文件

ls -l file01      查看文件的详细

-rw-r--r-- 1hward webadmin 0 Aug 6 22:16 file01    file01的权限644

chmod u+s/bin/touch   给TOUCH授权特殊权限   U+S 4

ls -l /bin/touch 查看命令的touch详细信息

-rwsr-xr-x 1 root root 42284 Mar 1 2010/bin/touch

su – hward  切换到普通用户hward 

touch file02  

ls -l file02

-rw-r--r-- 1 root webadmin 0 Aug 6 22:20 file02  权限没有变,但所属者变为ROOT

chmod g+s/bin/touch     给TOUCH授权特殊组GID  权限位
2  

ls -l /bin/touch

-rwsr-sr-x 1 rootroot 42284 Mar 1 2010 /bin/touch touch组的执行权限变为S

su - hward

touch file03

ls -l file*

-rw-r--r-- 1hward webadmin 0 Aug 6 22:16 file01     touch正常的权限

-rw-r--r-- 1root webadmin 0 Aug 6 22:20 file02      有4SETUID

-rw-r--r-- 1 root root 0 Aug 6 22:26 file03 有2SETGID

案例2:/usr/bin/vim授予SetUID

chmod u+s/usr/bin/vim

ls -l/usr/bin/vim

-rwsr-xr-x 1 rootroot 2731692 Sep 20 2009 /usr/bin/vim

vi /etc/inittab

vi /etc/shadow 结果会导致普通用户都可以编辑。会被别人利用。

案例3:查找SetUID命令

find -perm

permission 权限
查找系统中权限为777的二进制文件 find / -perm -0777 -a -type f

find / -perm-4000 -o -perm -2000 > /test/setuid.list

chmod u+s/bin/mkdir

find / -perm-4000 -o -perm -2000 > /test/setuid.list.20110820

diff/test/setuid.list /test/setuid.list.20110820

61a62

> /bin/mkdir

练习题:

1 用户加到用户组可不做

6

7

8

手工添加用户、SetUID


0810.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: