Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1621278
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: IT职场

2011-09-09 10:19:04

1RPM安装时一般不能指定安装目录
正确 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显示5T表示文件权限被更改过
错误  
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文件
查看源代码包目录下READMEINSTALL文件

/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 UID0就是管理员
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


原文地址:

阅读(237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~