Linux系统的特殊权限(suid,guid)

SUID属性只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限。passwd命令启用了SUID功能,所以一般用户在使用passwd命令修改密码时,会临时拥有了passwd命令所有者root用户的权限,这样一般用户才可以将自己的密码写入/etc/shadow文件。在使用“ls -l”或“ll”命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的“s”就表明该执行文件拥有SUID属性。

[root@srv ~]# ll /usr/bin/passwd 
-rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd

SGID于SUID不同,SGID属性可以应用在目录或可执行文件上。当SGID属性应用在目录上时,该目录中所有建立的文件或子目录的拥有组都会是该目录的拥有组。比如“/charles”目录的拥有组是charles,当“/charles”目录拥有SGID属性时,任何用户在该目录中建立的文件或子目录的拥有组都会时charles;当SGID属性应用在可执行文件上时,其他用户在使用该执行文件时就会临时拥有该执行文件拥有组的权限。在使用“ls -l”或“ll”命令浏览文件或目录时,如果拥有组权限的第三位是一个小写的“s”就表明该执行文件或目录拥有SGID属性。

[root@srv tmp]# ll 
total 4 
drwxr-sr-x 2 root root 4096 Feb 15 22:25 fringe 
-r-xr-sr-x 1 root root  6144 Feb 15 22:25 jack 

Sticky属性只能应用在目录,当目录拥有Sticky属性所有在该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能删除。比如当用户oliva在“/charles”目录中建立一个文件并将该文件权限配置为777,当/charles目录拥有Sticky属性时,只有root和oliva用户可以将该文件删除。在使用“ls -l”或“ll”命令浏览目录时,如果其他用户权限的第三位是一个小写的“t”就表明该执行文件或目录拥有Sticky
属性。

[root@srv tmp]# ll 
total 4 
drwxrwxrwt 2 root root 4096 Feb 15 22:34 fringe 

suid是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限。guid与suid类似,只是执行程序时获得的是文件属组的权限。

举个例子,普通用户zhang3可以执行aaa文件,但aaa文件的所有者是root。如果此文件设置了suid权限,那么zhang3用户在执行之的时候也自动获得了root的相关权限。

如何设置suid/guid权限?
设置suid:chmod u+s file1,或者将相应的权限位之前的那一位设置为4;
设置guid:chmod g+s file1,那么就将相应的权限位之前的那一位设置为2;
如果同时设置两者,那么将相应的权限位之前的那一位设置为4+2,即chmod 6755 file1
要取消权限的话,把+号换成-号即可。 Continue reading “Linux系统的特殊权限(suid,guid)”

Linux系统中文件的隐藏属性(chattr,lsattr)

Linux中除了我们熟悉的读写执行那9个权限位之外,还有一些隐藏权限和特殊属性,平常可能很少用到,但是作用却是非常大,尤其在系统安全方面,比较重要的有i和a属性。

chattr 命令:设置文件的隐藏属性。

从man中可以看到chattr的所有可设置的特殊参数,其中有些是限制在EXT2/EXT3的文件系统下面才能起作用 ,这点注意下就好。

文件设置i属性以后,此文件就无法被删除,重命名,写入数据等等之类的修改操作,详细的可以看man文档里面。需要root权限设置此属性。
文件设置a属性以后,此文件就只能增加数据,不能删除,不能修改。需要root权限设置此属性。

下面给出演示: Continue reading “Linux系统中文件的隐藏属性(chattr,lsattr)”

解决RedHat6/CentOS6系统中“弹出界面eth0:设备似乎不存在”的问题

刚刚在自己的CentOS6系统中执行service network restart时,竟然提示:

弹出界面 eth0: 设备 似乎不存在, 初始化操作将被延迟。   [失败]

这事可真神奇。于是手动编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,根据自己的忘记进行了一番设置,再次执行service network restart,竟然又弹出一个:

弹出界面 eth0: 错误:没有找到合适的设备:没有找到可用于连接 'eth0' 的设备。

后来发现,RedHat6/CentOS6系统中的网络服务已由一个名为NetworkManager的服务接管。当我关闭network服务,并开启NetworkManager服务以后,发现系统竟然又可以上网了! Continue reading “解决RedHat6/CentOS6系统中“弹出界面eth0:设备似乎不存在”的问题”

RedHat/CentOS安装五笔输入法

使用centos 仓库里的 ibus,我的 CenOS6.3 自带了 ibus 包。打开 System – preferences – Input Method 配置 ibus 开机自启动。

要安装五笔需要安装一个 ibus-table-wubi 包

yum install ibus libusb ibus-libs ibus-table-wubi

安装好后注销一下系统,让ibus读取新的配置,然后就可以在ibus的设置界面添加wubi了

右击桌面右上角的输入法图标,选择 Preferences,切换到 Input Method 选项卡,在 Select a input method 下拉菜单里添加五笔输入法即可。

RedHat5.5使用xming安装Oracle 10g R2

RedHat5.5/CentOS5.5使用xming安装Oracle 10g Release2版,记录一下。

一,准备工作

1,设置好主机名,并且在windows系统中安装xming

2,安装基本包

# yum install -y gcc make binutils openmotif setarch compat-db compat-gcc 
# yum install -y compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp

3,修改linux和oracle10g的系统兼容性
oracle 的官方只支持到Red Hat Release 4为止,所以要修改版本。这里有两种方法:1.修改linux版本;2.修改oracle配置;

方法1:修改linux版本

# vi /etc/redhat-release
将Red Hat Enterprise Linux Server release 5.5 (Tikanga)注释掉(前加”#”即可),然后添加一行:redhat-4

方法2:修改oracle安装文件的配置信息
oracle解压后是一个database目录,编辑database/install/oraparam.ini,找到[Certified Versions]段,将下面一行内容修改为

Linux=redhat-3,SuSE-9,redhat-4,redhat-5.5,UnitedLinux-1.0,asianux-1,asianux-2

并添加如下几行

[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

4,修改内核参数 Continue reading “RedHat5.5使用xming安装Oracle 10g R2”

linux下安装中文字体

装了redhat 5后发现,安装系统时没安装中文字体,没办法显示中文网页,都是乱码。
上网找到了安装的方法,步骤如下:
1.windows的字体一般存放在c:\windows\fonts目录下,copy你要的字体到linux下,文件是

ttf格式
2.把字体copy到/usr/share/fonts 目录下,然后执行以下命令
mkfontscale
mkfontdir//这两条命令是生成字体的索引信息
fc-cache //更新字体缓存
3.安装好了,可以查看中文网页了

via

RedHat5.5配置安装lnmp全过程(Linux+Nginx+Mysql+PHP)

一,安装必要的库和相关软件

# rpm -e mysql-server php-mysql php perl-DBD-MySQL mysql httpd
# yum -y install gcc gcc-c++ autoconf libtool* ncurses-devel pcre-devel zlib-devel libxml2-devel libpng-devel libjpeg-devel-6b freetype-devel gd-devel curl-devel libmcrypt-devel bison

# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz   #下载cmake
# tar -zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure && make && make install

二,安装mysql Continue reading “RedHat5.5配置安装lnmp全过程(Linux+Nginx+Mysql+PHP)”