日期:2014-05-16  浏览次数:20785 次

linux 笔记2
超级用户
root账号的UID为0,拥有至高的权限
如果使用DES加密口令,只有前8位有效,而MD5可以超过8个字符
如果以root用户登录系统,系统不会留下以root身份执行的操作的记录.
所以一般是禁止以root身份登录系统的.

1.使用/bin/su成为root用户
不带参数的话提示输入root的密码.
如果只是要以root权限执行一条命令,可以使用/bin/su -c "cmd params"
这时系统也不会记录root执行了哪些命令,但会记录谁在什么时候变成了root

2.sudo: 受限的su
sudo 采用命令行作为参数,然后以root身份(或另一个受限用户)执行.
sudo 读取文件/etc/sudoers,这个文件列出了授权使用sudo的人以及允许他们
在每台主机上运行的命令.
sudo保存有一个日志,它记录执行的命令行,命令行执行的主机,請求执行命令行的用户,
运行命令行的目录以及命令行被调用的时间.这些信息可以通过syslog进行记录或者被放入选定的文件中.
一个典型的/etc/sudoers的例子:
#define aliases for machines in CS & PHYSICS
Host_Alias   CS = tigger,anchor,piper,moet,sigi
Host_Alias   PHYSICS = eprince,pprince,icarus

#Define collections of commands
Cmnd_Alias    DUMP = /sbin/dump, /sbin/restore
Cmnd_Alias    PRINTING = /usr/sbin/lpc,/usr/bin/lprm
Cmnd_Alias    SHELLS = /bin/sh,/bin/bash,/bin/tcsh,/bin/ash,/bin/bsh

#Permissions
mark,ed       PHSYSICS = ALL
herb          CS = /usr/sbin/tcpdump : PHYSICS=(operator)DUMP
lynda         ALL = (ALL)ALL, !SHELLS
%wheel        ALL,!PHYSICS = NOPASSWD: PRINTING

3.使用sudo需要注意的地方
要修改/etc/sudoers,请使用visudo命令
/etc/sudoers里面的命令使用全路径名
攻克了sudoers的密码会给系统带来安全隐患.

4.其他一些伪用户
a. bin系统命令的老属主.如今的系统大多认为这账号是多余的,通常只使用root账号.另一方面, bin既然是'标准'账号,所以还真不能废除它.
b. daemon 无特权系统软件的属主
有些文件和进程是操作系统的一部分,但不需要由root做其属主,这使用daemon了.相应还有一个'daemon组'.但是现代系统也比较少用它们了.
c. nobody: 普通NFS用户
网络文件系统(NFS)在进行文件共享的时候,使用nobody账号代表其他系统上的root用户.