注: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有兴趣的!
高手就不敢谈了。
如果对你有所帮助,请记得采纳最佳答案,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)