2011-8-3 17:44:36

来源:互联网 发布:plc编程工作要经常出差 编辑:程序博客网 时间:2024/05/16 11:42
 

 

2011-8-3 17:44:36


查找文件夹下文件的总数

find ./  -type f |wc -l

 

/etc/osso-af-init/real-af-services: Error, X server did not start
/etc/osso-af-init/get-devlock.sh: line 6: dbus-send: not found

 

这部分是设置默认行为,比如在不使用sudo -u选项时默认用户是什么。个人认为比较有用的几个是:

logfile、runas_default、runaspw、env_keep、env_delete(如果你有什么其它选项感觉不错可以告诉我,其实还有一个env_check不明白有什么用)

logfile:改变默认sudo日志位置,使用格式:

Defaults    logfile = /var/log/sudolog

当执行sudo后就会在sudolog这个文件中有一条记录,记录格式如下:


 2月 15 16:15:52 : testuser : TTY=pts/1 ; PWD=/home/skiron/downloads ;

    USER=skiron ; COMMAND=/bin/rm aliedit.sh

testuser这个是运行sudo的用户,PWD是执行命令的目录,USER=skiron是testuser以skiron身份运行的命令,COMMAND这里就是所执行的命令是什么。

runas_default:改变sudo在不使用-u选项时默认用户,使用格式:Defautls    runas_defalut = skironrunaspw:

开启了访选项后会要求输入runas_default的用户密码,而不是自己的,使用格式:Default:Users_Alias    runaspwPS:

Users_Alias中的用户名都会被要求输入runas_default的用户密码env_keep:在使用sudo后传递的环境变量是什么!多个环境变量放在双引号中用空格分隔。

使用格式:Defaults    env_keep = "DISPLAY HOME"env_delete


使用方法同上PS:man page里写了这么一句,意思是说只有在env_keep和env_check中提及的环境变量在使用sudo时才会被传递。有一个叫env_reset的选项它是默认开启的,作用是仅包含LOGNAME, SHELL, USER, USERNAME和the SUDO_* 变量。env_keep和env_check包含的命令会自动添加进来。再PS:这几个ENV选项我试它们的用法。
好现在写几个我自己测试过的例字:(1)如果想让用户testuser只能运行ls命令:
testuser   ALL= /bin/ls或testuser   ALL=(root)  /bin/lsPS:这里的"(root)"写不写无所谓,因为在修改默认设置时,默认的Runas用户就是root.

(2)加强一下刚才的命令,如果想让用户testuser只能运行ls命令,不可以使用命令行参数:testuser   ALL= /bin/ls ""PS:

一对双相号和ls之间有一个空格要注意一下;最后解释一下ALL,它表示任何情况都匹配成功,在本例中表示“所有的主机”

(3)再次加强一下,如果想让用户testuser可以执行/bin目录下的命令,但除了ls之外testuser  ALL= /bin/, !/bin/lsPS:这里的“!”是否定标记,这行例子的顺序很重要,

写错了顺序的话,ls还是可以运行。还有就是/bin/,一定要写最后的“/”不然会提示错误,因为sudo会把/bin当成一个命令,而不是目录。
结束:如果有任何疑问欢迎提问,我们可以一起讨论一下:P

 

原创粉丝点击