Linux:关于charp改变用户组这个指令求解

Linux:关于charp改变用户组这个指令求解,第1张

可以的,但是用的不是chgrp命令,而是acl,即第二属组。

注:ls -a 下无法查看到第二属组,但是后面会带一个+,如1.txt rwxrwxrwx+

具体,查看文件的第二属组属性:getfacl ./1.txt

添加:setfacl -m u:zhang3:rw ./1.txt 说明,将1.txt的所属用户多加一个叫zhang3的,然后他有rw权限(目录记得加x,如rwx),多加一个组就是setfacl -m g:zhang3group:rw ./1.txt

可加参数-R递归下去(类似S位的递归用这个,或者setfacl -m d:u:zhang3:rw ./1.txt)

删除:setfacl -x (-b为彻底删除,-x只是去除某个用户或某个组)

其他:个人遇到的哈,不知道是不是我弄错还是咋的,S位的方法我用d:就是不行= =!所以自己没法,用-R来弄了。另外,值得注意的是,比如文件本来属于li4的,但是你要让它的第二数组变成zhang3的,这时候用setfacl命令的时候注意,要么你在root权限下,要么你就要在li4的家目录下执行(文件也要在li4的家目录),想要解除这个限制,你得先

1、vim /etc/fstab

/dev/vg/lv /test ext4 defaults,acl 0 0

只是个例子,就是说你文件所在的盘需要在defaults加个acl的设置。

如果嫌麻烦:

2、tune2fs -o acl /dev/vg/lv 即可( -l (不是1,是小写字母l)可查询设置)

纯手打,呀哟妈呀累死了,差点忘了这个还可以设置负值,比如你一个777的文件,然后setfacl -m u:zhang3:--- zhang3就等于黑名单了

**p是二级指针的意思,也就是指针的指针。

当然可以用char **p去定义一个二维char数组。

只不过要用到malloc动态申请内存来放二维字符数组。

格式如下:

#include "stdio.h"

main()

{

char **p

int i,j

int row,rank

//输入二维数组的行数和列数

printf("Please input row and rank:\n")

scanf("%d%d",&row,&rank)

//以下为动态申请二维数组

p=(int **)malloc(row*sizeof(char))

for(i=0i<rowi++)

p[i]=(int *)malloc(rank*sizeof(char))

//输入二维字符数组字符

printf("Please input data:\n")

for(i=0i<rowi++)

for(j=0j<rankj++)

scanf(" %c",&p[i][j])//注意%c前有空格键,切不可丢失!

//打印二维字符数组字符

for(i=0i<rowi++)

{

for(j=0j<rankj++)

printf("%c ",p[i][j])

printf("\n")

}

}

虽然我也是菜鸟,但比我还菜的问题,我是能回答出来的!

QQ121590680,虽然我加过几个C群,但里面鱼龙混杂,没几个对C有兴趣的!

高手就不敢谈了。

如果对你有所帮助,请记得采纳最佳答案,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7155665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存