linux常用设置

1)设置密码规则

系统管理员可以使用Linux 自带的工具来设置密码的规则(密码最小长度,是否要求特殊字符,密
码过期的期限等),以root 用户运行:
linuxconf
在菜单“user account”-“policies”-“password & account policies”设置。

2)忘记了超级用户密码怎么办

是使用Linux 启动盘或者安装CD 来启动你的计算机。
然后找到你计算机硬盘上的root 分区,使用mount 命令挂载该分区,接着修改文件/etc/shadow。
因为当我从软盘启动Linux 时,我可以不需要输入任何密码就成为root 用户。在密码文件里,把
root 用户的加密密码删除,所以root 的密码将是空的。

真正最重要的用户信息其实储存在文件/etc/shadow 文件里。这个文件相对安全因为只有root 用户才能阅读。在
这个文件里,每行包含九个字段:
1 登录用户名
2 加密后的密码
3 从1970 年1 月1 日到上一次修改密码的天数
4 距离下一次修改密码的天数
5 密码定期作修改的天数
6 密码即将过期时提前通知用户的天数
7 密码过期到用户被取消的天数
8 密码被取消时距离1970 年1 月1 日的天数
9 预留字段

举个例子,我的/etc/shadow 文件中的root 用户看起来是这样的:
root:$1$BuPbmLAz$1G7.evIChyqaEI0TlZp0F.:11071:0:99999:7:-1:-1:134540356
当密码被消除后,看起来是这样的:
root::11071:0:99999:7:-1:-1:134540356
现在,root 用户就没有密码了,所以我就可以重新启动计算机,在login 登录提示下,输入
“root”,对于密码提示只需要按回车键就可了(没有密码)。登录成功后,可以立刻使用以下命
令修改root 密码:
passwd

3)关闭或删除一个用户

临时关闭(锁定)一个用户帐号,并不需要修改该用户的密码。只需要在/etc/shadow 文件里属于
该用户的行的第二个字段(密码)前面加上星号“*”就可以了。星号“*”指的是该用户不允许登
录。当你想要把该用户恢复正常,只需要把星号“*”去掉就可以了,用户就可以恢复正常。
以下是一个在/etc/shadow 关闭用户peter 的例子:
peter:*$1$narMEFm6$fhA1puOU422HiSL5aggLI/:11193:0:99999:7:-1:-1:134539228
我也可以使用以下命令来关闭用户帐号:
passwd peter –l
使用以下命令重新释放该用户:
passwd peter –u

 

删除用户和用户组:
userdel doomed_user_login_name
groupdel doomed_user_login_name
- 然后把该用户从所属的其他用户组里面删除:
usermod –G doomed_user_login_name doomed_user_login_name
- 强制删除该用户的主目录和主目录下的所有文件和子目录:

rm –fr /home/doomed_user_login_name

4)让一个后台运行的进程在你退出系统后继续运行

     使用命令nohup(=no hungup),举例 :

     nohup make &
     该命令可能在编译一个很大的程序。

5) 怎样在某一特定时间执行命令(使用at”和“batch”)

at 命令可以让你指定特定的日期和时间来运行某个程序。举个例子,我可以在每天早上七点钟开
始在我的CDROM 上播放音乐:
at 7:00
cdplay
在以上例子,我在命令行里输入 “at 7:00”接着按回车。接着,at 命令显示一个 “at> ”的提
示符,然后我输入 “cdplay”接着按回车,最后,我同时按住 和 结束输入。如果我接着
按回车,另外一个“at> ”提示符出现,我可以接着输入那些我希望在早上7 点钟运行的程序。然
后在最后输入 。 就象是向当前的输入送一个文件结束符合,告诉输入已经完
毕。不要连续按 两次,否则你就自动退出系统了。
你可以使用以下命令列出当前在任务调度表里的任务:
at –l
你可以看到那些还在任务调度表里还在等待的程序的清单。
如果你改变主意,绝定把某个程序从任务调度表里删除。举例:

atrm 8
该命令将从任务调度表里删除命令编号为8 的程序
我也可以安排一个程序在稍晚一点的时间运行,比如:
at 23:55 12/31/00
startx

如果你不能运行at 命令,查看一下是否任务调度服务程序(atd)已经被加载(可以使用root 用户
运行ntsysv 加载)。如果at 命令对root 用户有效但是对于普通用户无效,检查一下是否文件
/etc/at.deny 是否存在,同时,确认文件/etc/at.allow 不存在。这是所有用户可以运行at 命令
的缺省设置。如果你想要只有指定的用户才能够运行at 命令,可以生成文件/etc/at.allow 并且
把用户的名单加到文件里。

6) 怎样设置“cron”

想了解cron 什么时候被唤醒开始运行它的任务,可以查看/etc/crontab,举例:
cat /etc/crontab
你会看到内容大概如下 :

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
你可以看到有四种不同的cron 任务: 每小时,每天,每周和每月。你可以修改修改它,或者加入
你自己的任务。以下介绍它是如何工作的:
每列的顺序表示如下:
分钟(0-59),小时(0-23),日期(1-31),月份(1-12),星期(从0-6 分别表示星期天
到星期六)。“*”表示任何有效的数值。
在以上例子里,“每小时”的任务在时钟的“第一分钟”运行,这相当于每小时发生一次。“每
日”的任务发生在每天时钟的4 点02 分,刚好每天一次。“每周”任务发生在星期天早晨4 点02
分。“每月”的任务发生在每月第一天的4 点42 分。该任务的运行脚本名称放在每行的最后。

如果你想要让早上4 点的任务在中午执行,只需要把4 改成12 就可以了。Cron 每分钟被唤醒一次
检查是否/etc/crontab 已经被修改,所以当你修改完文件后不需要重新启动cron 程序。

7)怎样定制自己的Shell

在我的计算机上,命令提示符看起来是这样的:
[stan@marie stan]$ _

在这里, “stan”是用户名,“marie”是计算机名,第二个“stan”是我当前的工作目录,而
“_”代表光标。
提示符通过环境变量PS1来设置。可以使用以下命令显示当前设置:
echo $PS1
提示符的系统范围(对于系统里的所有用户有效)的设定在文件/etc/bashrc里,可能包含以下的
行:
PS1="[/u@/h /W]/$ "

要定制提示符,我可以编辑文件/etc/bashrc(root用户)然后在两个引号之内输入任何你想要的
文本。以下是一些我可能会使用的特别代码:
/u - 当前用户的用户名(=$LOGNAME)
/h - 运行shell的计算机名(hostname)
/H - 完整的计算机名
/W - 当前工作目录名
/w - 当前工作命令全路径名
/$ - 对于普通用户显示$,对于超级用户显示#
/! - 当前命令的历史编号
/# - 当前命令编号(在当前的shell下运行的命令)
/d - 当前日期
/t - 当前时间 (24小时制)
/T - 当前时间 (12小时制),bash 2.0有效
/@ - 当前时间 (AM/PM格式),bash 2.0有效
/s - shell的类型
/a - 告警声音
/j - 用户的任务数
/n - 新行
// - 反斜杠
/[ - 不可打印字符开始标志
/] - 不可打印字符结束标志
/nnn - ASCII字符对应的八进制数值
$(date) - date(输出当前日期)命令输出或者其他的命令


以下是一个关于如何加彩色的例子:

PS1="/[/033[1;32m/][/u@/h /W]/$/[/033[0m/] "

8)对于shell 有特殊含义的字符:
/ ' " ` < > [ ] ? | ; # $ ^ & * ( ) =
这里有四种不同的符号:反斜杠(/),单引号(‘),双引号(“),反向单引号(`)。
· 反斜杠(/)表示:关闭后面字符的特殊含义
· 单引号(‘)表示:关闭在两个单引号之间所有字符的特殊含义
· 双引号(“)表示:关闭在两个双引号之间所有字符的特殊含义除了$ ` /
· 反向单引号(`)表示:告诉shell 首先运行两个反向单引号之间的命令,然后把得到的结果
再传递给两个单引号之外的命令。同样的功能也可以通过“$command”命令来实现,而且
可能会更方便。
举个例子,我可以创建一个奇怪的目录名叫做“*”通过使用“/”或者“’”符号:
mkdir /*
mkdir ’*’
这屏蔽了“*”对于shell 的特别含义。如果没有“/”,“*”意味着当前目录下所有文件。

9)输入输出重定向

有三个最重要的输入输出流:标准输入(stdin),标准输出(stdout),标准错误(stderr)。它们对于
控制台(“控制台”指的是键盘用于输入,屏幕用于输出)来说是缺省的,但是它们可以被重定
向。
重定向标准输出,可以使用“>”符号,举例:
dir my_dir > filelisting.txt
将把dir 命令的标准屏幕输出重定向到文本文件 filelisting.txt 文件里,所以屏幕上没有任何
输出。这个文件可以用来编辑(比如使用pico 文本编辑器)或者合并到其他的文件里。
重定向标准错误,可以使用结构“2>”,举例:
dir my_dir 2> errorlisting.txt
以上命令将送标准输出到屏幕上,如果没有错误信息,将没有任何信息写到errorlisting.txt 文
件里。如果出错,则没有什么东西输出到屏幕,而文件errorlisting.txt 将包含错误信息。错误
信息有可能是这样的:

dir: my_dir: Permission denied
最后,我也可以把标准输出和标准错误一起输出到同一个文件里,
dir my_dir > file_and_error_listing.txt 2>&1
以上命令先重定向标准输出到文本文件里,然后再重定向标准错误到和标准输出同样的位置。它如
何实现可能看起来有点古怪,但是是可行的。
在以上的例子里,如果重定向的文件已经存在,该文件会被覆盖。如果你要追加到该文件的末尾,
可以使用“>>”符号,以上的例子就变成:
dir my_dir >> filelisting.txt
dir my_dir 2>> errorlisting.txt
dir my_dir >> file_and_error_listing.txt 2 > &1
如果你对“2>”感到很迷惑,这里有一个简单的办法可以帮你理解,标准流有标准的解析器:
“0”代表标准输入,“1”代表标准输出,“2”代表标准错误。

dir my_dir > file.txt
是以下命令的简写方式:
dir my_dir 1 > file.txt
那么以下命令就是用来输出标准错误:
dir my_dir 2 > file.txt
还有,你还可以使用符号“|”(管道命令)把一个命令的标准输出送到另外一个命令的标准输
入。在以下这个标准的例子里,dir 命令的标准输出通过管道输入到命令more 里(输出满屏的时
候自动暂停):
dir | more
你还可以使用“tee”命令把标准输出同时写到文件和屏幕,
dir | tee filelisting.txt
tee 是“T 型连接器”的模拟音,在管道中的主要的用途是分流。
这个部分这样都用来讲述标准输出重定向,对于标准输入重定向不像标准输出重定向那么有用,但
是它可以使用以下方式实现:
cat < my_file

10)用别名简化挂载命令

一个别名是一个更复杂或更常用命令的缩写。为了创建别名,我作为超级用户, 编辑/etc/bashrc
文件。 在系统中别名对于所有用户都是有效的(为了创建用户指定的别名, 编辑在用户主目录里
的 。bashrc 文件) 我的/etc/bashrc 文件的相关部分如下:
alias cdrom="mount -v /mnt/cdrom"
alias ucdrom="umount -v /mnt/cdrom"
alias dosdrive="mount -v /mnt/dosdrive"
alias udosdrive="umount -v /mnt/dosdrive"
alias zipdrive="mount -v /mnt/zipdrive"
alias uzipdrive="umount -v /mnt/zipdrive"
alias floppy="mount -v /mnt/floppy"
alias ufloppy="umount -v /mnt/floppy"
"-v" 选项代表 "verbose", 即: 告诉 Linux 在挂载时告诉我更多信息。为了让别名生效,用户要
重新登录。现在用户可以使用这一简单命令挂载软盘:
floppy
他/她可使用下面的命令卸载:
ufloppy

11)查看重要系统日志

cat /var/log/secure

12) 创建别名

aliase ls ="ls -color=tty"

如果你想让系统上的所有用户始终能使
用这个别名,就把它写到/etc/bashrc 文件中。使用unalias alias_name 可以删除一个别名。

13) 常用系统管理命令

setup
(以root 用户运行)配置鼠标、声卡、键盘、和系统服务。许多发行套装都有自己特定的配置实
用程序,setup 是Redhat 的缺省配置程序。Mandrake 7.0 提供非常好用的DrakConf。
linuxconf
(以root 用户运行,在文本模式或是在X 终端上)。在这里你可以访问和更改上百种网络设置。
功能非常强大――一次不要改动太多东西,改动你所不清楚的项目时一定要小心。Redhat 网络配
置工具netconf 是linuxconf 的一个子集,因此它比较简单而且很多时候容易使用。
mouseconf
(以root 用户运行)。一个配置鼠标的简单工具(在完成初始安装后)。Mandrake 也有一个类似
的工具mousedrake。

userconf
(以root 用户运行)菜单驱动的用户配置工具(口令政策、组信息更改、增加用户等)。它是
linuxconf 包的一部分,但可以单独运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值