A.umask
1.作用
umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。
2.格式 umask [-p] [-S] [mode]
3.参数
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。
4.说明
传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。
5.应用实例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。
B.Ubuntu中的问题:
1.默认安装是没有root密码的,要进入系统后shell>sudo passwd root,会提示输入root密码。
2.Ubuntu里面挂载windows文件要用utf8而不是cp936,否则中文会显示乱码。也即:在etc/fstab文件中加入:
/dev/hda5 /mnt/d vfat auto,utf8,umask=000 0 0
3.Ubuntu里面不能用rpm安装软件,它采用的是dpkg命令,它的安装包是.deb文件。你可以用alien命令将rpm包转换成deb文件:alien -d *****.rpm。后面列出dpkg跟rpm命令的区别
4安装SCIM输入法
sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad
将export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim"; scim -d 写进文件: /etc/X11/Xsession.d/95xinput 中
sudo chmod +755 /etc/X11/Xsession.d/95xinput
5字体美化
wget -c http://222.19.211.78/ftp/cartoon/font/VeraSansYuanTi.tar.gz
tar -xzvf VeraSansYuanTi.tar.gz
sudo mv VeraSansYuanTi /usr/share/fonts/
sudo fc-cache -f
sudo cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.old
sudo cp /usr/share/fonts/VeraSansYuanTi/fonts.conf /etc/fonts/
重启X(同时按住 Ctrl +Alt + 退格键)
6设置LC_ALL和其它属性
sudo gedit /etc/environment
在编辑器里,将内容修改如下(默认使用中文界面):
LANGUAGE="zh_CN:zh:en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=zh_CN.UTF-8
GST_ID3_TAG_ENCODING=GBK
如果需要使用英文界面,将内容修改如下:
LANGUAGE="en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=en_GB.UTF-8
GST_ID3_TAG_ENCODING=GBK
重启X后生效
7 安装多媒体播放驱动(不然看不了rmvb哦)
sudo apt-get install beep-media-player totem-xine w32codecs
8安装gcc-3.4:apt-get install build-essential gcc-3.4
安装头文件:apt-get install linux-headers-2.6.12-10-386
建立一个符号链接:ln –s /usr/bin/gcc-4.0 gcc
这样build就有指向正确的源码树位置了。
9、/etc/apt/sources.list:
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com
breezy main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com
breezy-security main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com
breezy-backports main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com
breezy-updates main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com
breezy-proposed main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/
breezy main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/
breezy-updates main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/
breezy-security main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/
breezy-backports main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu-cn/
breezy main restricted universe multiverse
sudo apt-get install kdevelop3
sudo apt-get install gt3-designer
sudo apt-get install libtool
sudo apt-get install console
sudo apt-cache search *
10、kdevelop3&
C.dpkg vs rpm
列出系统中安装的软件包
rpm -qa
dpkg --list
列出软件包信息
rpm -qi pkgname
dpkg --status pkgname
列出一个包所安装的文件
rpm -ql pkgname
dpkg --listfiles pkgname
列出本地包文件的信息
rpm -qpi file.rpm
dpkg --info file.deb
列出本地包文件所含文件
rpm -qpl file.rpm
dpkg --contents file.deb
安装本地包
rpm -i file.rpm
dpkg --install file.deb
从系统中清除包
rpm -E pkgname
dpkg --purge pkgname
查询文件归属
rpm -qf file
dpkg --search file
D一些技巧:
查看bash版本:>echo $BASH_VERSION
测试脚本文件:>source myscript或者>chmod a+x myscript;./myscript
简单的命令组合可以用分号实现,就像上面显示的那样。
脚本的第一行必须是:#!/bin/bash.它指定了负责执行脚本的解释器的名字。
Bash中,双引号在功能上比单引号稍微弱一点;双引号允许一些特殊字符保持其特有的意义。单引号有强制作用,屏蔽掉任何字符的特殊含义。单引号禁止变量的插值,而双引号不禁止,如:
>echo "Path:$PATH"会正确显示环境变量
>echo 'Path:$PATH'会显示:Path:$PATH
所以,除非有特殊原因,才使用双引号。
在太长的脚本中可以使用‘\’来将其划分成短行
rev:获得任何的键盘输入,接着把它们反过来显示在屏幕上。
linux中声明变量在变量名前加上$符号,删除变量用unset命令释放内存。
/bin 保存像ls和cat这样的二进制文件。
/boot 启动系统所需的文件。
/etc 系统配置文件和初始化脚本
/dev linux系统下大量设备的入口
/lib 系统启动时程序运行所必需的基本动态库
/lost+found 如果一个文件系统在运行的时候产生了错误,那么文件系统修复工具 (fsck)将要在这个目录保存恢复的数据
/proc 是个虚拟目录,该目录下的文件和目录并不真正存在于系统的任何磁盘上。系统创建它是为了向其他应用程序传递系统信息。
/sbin 启动系统的程序和二进制文件
/usr 为正常运行系统的用户存放固定文件和数据的目录
E。设置启动项目:
首先安装一个工具:
sudo apt-get install sysv-rc-conf
然后这样起动:
代码:
sudo sysv-rc-conf
(注意:进入以后,画“×”的表示选上并起动的。)在这个软件里,可以用键盘的方向键移动,用空格选取,也可以直接用鼠标选取,最后用q保存退出,一下列出服务的名称和基本的解释。
代码:
acpi-support 这个是关于电源支持的默认是1,2,3,4,5下启动,我认为你可以把它调整到s级别。
acpid acpi的守护程序,默认是2-5开启,我认为可以不用管。
alsa alsa声音子系统,应该不用开启它。
alsa-utils 这个服务似乎取代了alsa,所以开启这个就可以了,我在S级别开启它。
anacron 这是一个用于执行到时间没有执行的程序的服务,我认为它无所谓,所以关了它,这个可以随便。
apmd 也是一种电源管理,我认为电脑如果不是很老,它就没有开启的必要了。
atd 和anacron类似,我把它关了。
bluez-utiles 传说中的蓝牙服务,然后遗憾我没有,所以关了。
bootlogd 似乎使用来写log的,安全期间开着他也许比较好。
cron 指定时间运行程序的服务,所以开着比较好的。
cupsys 打印机服务,所以如果你有,就开启吧。
dbus 消息总线系统,非常重要,一定要开。
dns-clean 拨号连接用的,如果不用,就关了它。
evms 企业卷管理系统,由于我并不明白什么叫做企业卷,所以我关了它。
fetchmail 用于邮件守护,我关了它。
gdm gnome桌面管理器,我关了它,然后用startx启动gnome。
halt 关机用的,不要更改
hdparm 这个我刚才有讲,如果没有ide硬盘也就不用开启它了。
hotkey-setup 这个是给某些品牌笔记本设计的热键映射,台式机用户请关了它
hotplug 这个是用于热插拔的,我已经测试过了,在某些电脑上关闭它会使声卡无效,请在S级别开启它。
hplip hp打印机专用的,应该可以关了它。
ifrename 网络接口重命名,好像没用,关了。
ifupdown 这个使用来打开网络的,开着它。
ifupdown-clean 同上。
klogd linux守护程序,接受来自内核和发送信息到syslogd的记录,并记录为一个文件,所以请开着它。
linux-restricted-modules-common 这个使用来使用受限制的模块的,你可以从/lib/linux-restricted-modules下查看,如果没有什么,你可以关掉它。
lvm 逻辑卷管理器,如果你没有请关了它。
makedev 用来创建设备到/dev/请不要动他。
mdamd 管理raid用,如果你没有请关闭它。
module-init-tools 从/etc/modules 加在扩展模块的,这个一般开着。
networking 增加网络接口和配置dns用,将它开启。
ntp-server 与ubuntu时间服务器进行同步的,关了。
pcmcia 激活pcmica设备,遗憾我有生以来都没有见过这样的设备,关了它。
powernowd 用于管理cpu的客户端程序,如果有变频功能,比如amd的quite' cool 那么就开启它吧。
ppp 拨号用的,我关了它。
ppp-dns 一样,也关了。
readahead 预加载服务,让我想起了win的预读,当然他们不同,它会使启动变慢3-4妙,所以我关了它。
reboot 重启用的,不要动。
rmnologin 如果发现nologin,就去除它,在笔记本上不用开启。
rsync rsync协议守护,请视情况而定。
screen-cleanup 一个清除开机屏幕的脚本,随便。
sendsigs 重启和关机时向所有进程发送消息。所以不要管它。
single 激活但用户模式,不用管它。
stop-bootlogd 从2,3,4,5级别停止bootlogd,不用管它。
sudo 这个不用说吧,不用管它。
sysklogd 用于记录系统日志信息,不用管它。
udev 用户空间dev文件系统,不用管它。
udev-mab 同上。
umountfs 用来卸载文件卷的,不用管它。
urandom 生成随即数的,不知道怎么用,不用管它。
usplash 那个漂亮的启动画面,但是我关了它,它也存在,所以想关他需要把内核起动参数中的splash一句删掉。
vbesave 显卡bios配置工具,不用管它。
xorg-common 设置x服务ice socket。不用管它。