/aegoose/article/details/25439649
关于ntfs权限的问题
文件的权限:
[-dcbps][u:rwx][g:rwx][a:rwx]
其中: r=4, w=2, x=1, u=owner, g=group, a=all user
d=dir, -=file, l=symbolic link, p=pipe,
c=character device, b=block device, d=door, s = socket
linux下,目录的r——可列目录,w——可写/删/改名,x——可进入访问;
文件r——可读,w——可写/删/改名,x——执行
权限的组合可汇合成一个数字: rwx = 4+2+1 = 7
因此:-rwxrwxrwx = 777, -rw-rw-rw=666, -rwx-r-x-r-x=755
一般通过chmod的参数进行设置:
chmod777/dir/file设置文件为读写执行
chmod-x/dir/file删除文件uga的可执行
chmodga-w/dir/file删除文件ga的可写权限
chmodu=rx/dir/file重设置文件u为读和执行
chmod+x/dir/file增加文件uga为可执行
umask & fmask & dmask的使用
umask —— 设置目录和文件的权限过滤
fmask —— 设置文件的权限过滤
dmask —— 设置目录的权限过滤
dmask和fmask是mount的选项,针对fat/ntfs文件系统,适用于fstab配置
不同于chmod/chown的权限值,它们三个是有mask——过滤的意思 ,以下是它们的对文件的读写权限:
01234567
r++++----
w++--++--
x+-+-+-+-
其实这个结果是通过 mask = rwx - 文件权限
如设置文件为0755权限,那么mask值则需为0022,即:0755=0777-0022
fstab实例:
/dev/hda1/media/winntfsdefaults,utf8,umask=11100
其中:umask=111==>(777-111)=666=rw-rw-rw, 即文件拥有读写权限
可以重新设计更更严格的权限关系:
dmask=022,fmask=133 即:f=755=rwxr-xr-x, d=644=rw-r--r--
注意:其实umask可理解为关闭某些权限。可以使用umask命令改变一个文件的权限:
umask查看当前目录的权限mask
umask设置当前
文件权限进阶—— 文件的组和用户继承关系suid和sgid
当文件设置了suid后,该文件运行时以拥有者身份执行
chmod755file(owner)
chmodu+sfile==>-rwsr-xr-x(user)
(即当使用user执行时,它以owner的身份执行)
(suid常用于文件上,目录一般没有执行权限)
当目录设置了sgid后,其他人要是有r/x/w权限时,其他人创建的子目录的组为当前拥有的组
chmod757dir(owner)
chmodg+sdir==>drwxr-srwx(ower)
mkdirdir/newidr(user)
(即当user创建子目录时,它的组是owner,它的拥有者则是user)
(sgid常用于目录上)
当目录设置了sticky后,防止别人删除目录的资料
chmod757dir(owner组)
chmodo+tdir==>drwxr-srwt(owner)
rm-rdir(user)==>error
(user无法删除,虽然开放了删除权限,但还是只有owner可删除)
例子:
chmodu=rwxs,o=rxfile
chmodg+s,o=wrxtest/
chmodo=rwxttest/
chmod1775test/
0755也就是755, 而1755前面的1则与suid/sgid/sticky相关,看下表:
(可以理解为suid=4,sgid=2,sticky=1)
suidsgidsticky模式数字
ononon7
ononoff6
onoffon5
onoffoff4
offonon3
offonoff2
offoffon1
offoffoff0
文件的拥有者
一般通过chown进行设置
查看当前登录w或者who
查看当前用户名whoami
查看当前用户组idid或者finger
查看用户登录记录last
lastb
查看所有用户cut-d:-f1/etc/passwd
cat/etc/passwd|awk-F\:'{print$1}'
查看当前组groups
查看指定组groups
改变拥有者chown/dir/file
改变组chgrp/dir/file
改变组及拥有者chown:/dir/file
其他groupadd/groupmod/groupdel
useradd/usermod/userdel
最后进阶理解fstab配置
/dev/hda1/media/winntfsdefaults,utf8,uid=1000,gid=1000,fmask=133,dmask=02200
参考文章