免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1730 | 回复: 5

[系统管理] [已经解决]用普通用户在权限为755的目录下用sudo执命令出错 [复制链接]

论坛徽章:
0
发表于 2014-09-18 01:07 |显示全部楼层
本帖最后由 心若寒江雪 于 2014-09-19 03:11 编辑

  1. drwxr-xr-x 2 root        root        4096 Sep 18 01:43 a
  2. [xxx@xxx a]$ sudo for i in {0..63};do mkdir $i && cd $i && for z in {0..63};do mkdir $z; done; cd .. ; done   
  3. -bash: syntax error near unexpected token `do'
  4. [xxx@xxx a]$
复制代码
貌似sudo就不能这么用,如果在不把这些命令存为一个脚本的前提下如何做呢

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
发表于 2014-09-18 02:14 |显示全部楼层
本帖最后由 qq58945591 于 2014-09-18 02:23 编辑

你语法错了,而且嵌套也不能那么弄哎。


for i in {0..10};do mkdir $i;cd $i;for z in {0..10};do mkdir $z;done;cd ..;done

tree
.
|-- 0
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 1
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 10
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 2
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 3
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 4
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 5
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 6
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 7
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
|-- 8
|   |-- 0
|   |-- 1
|   |-- 10
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   |-- 6
|   |-- 7
|   |-- 8
|   `-- 9
`-- 9
    |-- 0
    |-- 1
    |-- 10
    |-- 2
    |-- 3
    |-- 4
    |-- 5
    |-- 6
    |-- 7
    |-- 8
    `-- 9

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2014-09-18 09:38 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
处女座
日期:2014-09-18 16:18:00
发表于 2014-09-18 09:49 |显示全部楼层
回复 2# qq58945591
他的语法和嵌套都是对的,不信你可以试一下,另外你的加上sudo同样会报错的。。。。

   

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
发表于 2014-09-18 10:44 |显示全部楼层
回复 4# Kasiotao


    不好意思,忘记加sudo了。确实报错。
另外很少用sudo,又去试了一把。提示说用户不在/etc/sudoers ,参照格式写入 student  ALL=(ALL)       ALL

sudo exec $(for i in {0..10};do mkdir $i;cd $i;for z in {0..10};do mkdir $z;done;cd ..;done)

发现报错
sudo: exec: command not found

但是执行成功
tree
.
├── 0
│   ├── 0
│   ├── 1
│   ├── 10
│   ├── 2
│   ├── 3
│   ├── 4
│   ├── 5
│   ├── 6
│   ├── 7
│   ├── 8
│   └── 9
.........................................


linux新手,我这样做可以么?对于/etc/sudoers里那行参数,不是很理解,只是知道sudo为权限委派,那我设置为ALL那不就等于root了么? 求解释。

论坛徽章:
1
处女座
日期:2014-09-18 16:18:00
发表于 2014-09-18 10:53 |显示全部楼层
回复 5# qq58945591
嗯,这样相当与把那段代码丢在一个子进程里运行,我刚开始也想这样,但是这样不行的,因为其实sudo在这里没有发作用,
你可以在根目录下用普通用户运行一下,会发现都是permission denied。
目前没想到怎么解决,建议楼主直接丢在脚本文件里sudo sh xx00.sh,要么就su了再执行。。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP