JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1 部分:用户命令     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

简介

User Commands

acctcom(1)

adb(1)

addbib(1)

admin(1)

alias(1)

allocate(1)

amt(1)

appcert(1)

apptrace(1)

apropos(1)

ar(1)

arch(1)

as(1)

asa(1)

at(1)

atq(1)

atrm(1)

audioconvert(1)

audioctl(1)

audioplay(1)

audiorecord(1)

audiotest(1)

auths(1)

auto_ef(1)

awk(1)

banner(1)

basename(1)

basename(1B)

batch(1)

bc(1)

bdiff(1)

bfs(1)

bg(1)

biff(1B)

break(1)

builtin(1)

cal(1)

calendar(1)

case(1)

cat(1)

cd(1)

cdc(1)

cdrw(1)

chdir(1)

checkeq(1)

checknr(1)

chgrp(1)

chkey(1)

chmod(1)

chown(1)

chown(1B)

ckdate(1)

ckgid(1)

ckint(1)

ckitem(1)

ckkeywd(1)

ckpath(1)

ckrange(1)

ckstr(1)

cksum(1)

cktime(1)

ckuid(1)

ckyorn(1)

clear(1)

cmp(1)

col(1)

comb(1)

comm(1)

command(1)

compress(1)

continue(1)

cp(1)

cpio(1)

cpp(1)

cputrack(1)

crle(1)

crontab(1)

csh(1)

csplit(1)

ct(1C)

ctags(1)

ctrun(1)

ctstat(1)

ctwatch(1)

cu(1C)

cut(1)

date(1)

dc(1)

deallocate(1)

decrypt(1)

delta(1)

deroff(1)

df(1B)

dhcpinfo(1)

diff(1)

diff3(1)

diffmk(1)

digest(1)

digestp(1)

dircmp(1)

dirname(1)

dirs(1)

dis(1)

disown(1)

dispgid(1)

dispuid(1)

dos2unix(1)

dpost(1)

du(1)

du(1B)

dump(1)

dumpcs(1)

dumpkeys(1)

echo(1)

echo(1B)

ed(1)

edit(1)

egrep(1)

eject(1)

elfdump(1)

elfedit(1)

elffile(1)

elfsign(1)

elfwrap(1)

encrypt(1)

enhance(1)

env(1)

eqn(1)

errange(1)

errdate(1)

errgid(1)

errint(1)

erritem(1)

error(1)

errpath(1)

errstr(1)

errtime(1)

erruid(1)

erryorn(1)

eval(1)

ex(1)

exec(1)

exit(1)

expand(1)

export(1)

exportfs(1B)

expr(1)

expr(1B)

exstr(1)

factor(1)

false(1)

fastboot(1B)

fasthalt(1B)

fc(1)

fg(1)

fgrep(1)

file(1)

file(1B)

filebench(1)

filep(1)

filesync(1)

filofaxp(1)

find(1)

finger(1)

fmt(1)

fmtmsg(1)

fold(1)

for(1)

foreach(1)

franklinp(1)

from(1B)

ftp(1)

function(1)

gcore(1)

gencat(1)

geniconvtbl(1)

genmsg(1)

get(1)

getconf(1)

getfacl(1)

getlabel(1)

getopt(1)

getoptcvt(1)

getopts(1)

gettext(1)

gettxt(1)

getzonepath(1)

glob(1)

goto(1)

gprof(1)

grep(1)

groups(1)

groups(1B)

grpck(1B)

hash(1)

hashcheck(1)

hashmake(1)

hashstat(1)

head(1)

helpdate(1)

helpgid(1)

helpint(1)

helpitem(1)

helppath(1)

helprange(1)

helpstr(1)

helptime(1)

helpuid(1)

helpyorn(1)

hist(1)

history(1)

hostid(1)

hostname(1)

i386(1)

i486(1)

iconv(1)

if(1)

indxbib(1)

install(1B)

ipcrm(1)

ipcs(1)

isainfo(1)

isalist(1)

jobs(1)

join(1)

jsh(1)

kbd(1)

kdestroy(1)

keylogin(1)

keylogout(1)

kill(1)

kinit(1)

klist(1)

kmdb(1)

kmfcfg(1)

kpasswd(1)

krb5-config(1)

ksh(1)

ksh88(1)

ksh93(1)

ktutil(1)

kvno(1)

lari(1)

last(1)

lastcomm(1)

ld(1)

ldapadd(1)

ldapdelete(1)

ldaplist(1)

ldapmodify(1)

ldapmodrdn(1)

ldapsearch(1)

ldd(1)

ld.so.1(1)

let(1)

lex(1)

lgrpinfo(1)

limit(1)

line(1)

list_devices(1)

listusers(1)

llc2_autoconfig(1)

llc2_config(1)

llc2_stats(1)

ln(1)

ln(1B)

loadkeys(1)

locale(1)

localedef(1)

logger(1)

logger(1B)

login(1)

logname(1)

logout(1)

look(1)

lookbib(1)

lorder(1)

ls(1)

ls(1B)

m4(1)

mac(1)

mach(1)

machid(1)

madv.so.1(1)

mail(1)

Mail(1B)

mail(1B)

mailcompat(1)

mailp(1)

mailq(1)

mailstats(1)

mailx(1)

make(1S)

makekey(1)

man(1)

mconnect(1)

mcs(1)

mdb(1)

mesg(1)

mkdir(1)

mkmsgs(1)

mkstr(1B)

mktemp(1)

moe(1)

more(1)

mp(1)

mpss.so.1(1)

msgcc(1)

msgcpp(1)

msgcvt(1)

msgfmt(1)

msggen(1)

msgget(1)

mt(1)

mv(1)

nawk(1)

nc(1)

ncab2clf(1)

ncakmod(1)

neqn(1)

netcat(1)

newform(1)

newgrp(1)

newsp(1)

newtask(1)

nice(1)

nl(1)

nm(1)

nohup(1)

notify(1)

nroff(1)

od(1)

on(1)

onintr(1)

optisa(1)

pack(1)

packagemanager(1)

page(1)

pagesize(1)

pargs(1)

passwd(1)

paste(1)

patch(1)

pathchk(1)

pax(1)

pcat(1)

pcred(1)

perl(1)

pfbash(1)

pfcsh(1)

pfexec(1)

pfiles(1)

pfksh(1)

pflags(1)

pfsh(1)

pftcsh(1)

pfzsh(1)

pg(1)

pgrep(1)

pkcs11_inspect(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkginfo(1)

pkglint(1)

pkgmerge(1)

pkgmk(1)

pkgmogrify(1)

pkgparam(1)

pkgproto(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pkgtrans(1)

pkill(1)

pklogin_finder(1)

pktool(1)

plabel(1)

pldd(1)

plgrp(1)

plimit(1)

pmadvise(1)

pmap(1)

pm-updatemanager(1)

popd(1)

ppgsz(1)

ppriv(1)

pr(1)

praliases(1)

prctl(1)

preap(1)

print(1)

printenv(1B)

printf(1)

priocntl(1)

proc(1)

prof(1)

profiles(1)

projects(1)

prs(1)

prt(1)

prun(1)

ps(1)

ps(1B)

psig(1)

pstack(1)

pstop(1)

ptime(1)

ptree(1)

pushd(1)

pvs(1)

pwait(1)

pwd(1)

pwdx(1)

radadrgen(1)

ranlib(1)

rcapstat(1)

rcp(1)

read(1)

readonly(1)

red(1)

refer(1)

regcmp(1)

rehash(1)

remote_shell(1)

remsh(1)

renice(1)

repeat(1)

reset(1B)

return(1)

rksh(1)

rksh88(1)

rlogin(1)

rm(1)

rmail(1)

rmdel(1)

rmdir(1)

rmformat(1)

rmmount(1)

rmumount(1)

roffbib(1)

roles(1)

rpcgen(1)

rpm2cpio(1)

rsh(1)

runat(1)

rup(1)

rup(1C)

ruptime(1)

rusage(1B)

rusers(1)

rwho(1)

sact(1)

sar(1)

sccs(1)

sccs-admin(1)

sccs-cdc(1)

sccs-comb(1)

sccs-delta(1)

sccsdiff(1)

sccs-get(1)

sccs-help(1)

sccshelp(1)

sccs-prs(1)

sccs-prt(1)

sccs-rmdel(1)

sccs-sact(1)

sccs-sccsdiff(1)

sccs-unget(1)

sccs-val(1)

scp(1)

script(1)

sdiff(1)

sed(1)

sed(1B)

select(1)

set(1)

setenv(1)

setfacl(1)

setlabel(1)

setpgrp(1)

settime(1)

sftp(1)

sh(1)

shcomp(1)

shell_builtins(1)

shift(1)

shutdown(1B)

size(1)

sleep(1)

soelim(1)

sort(1)

sortbib(1)

sotruss(1)

source(1)

sparc(1)

spell(1)

spellin(1)

split(1)

srchtxt(1)

ssh(1)

ssh-add(1)

ssh-agent(1)

ssh-http-proxy-connect(1)

ssh-keygen(1)

ssh-keyscan(1)

ssh-socks5-proxy-connect(1)

stop(1)

strchg(1)

strconf(1)

strings(1)

strip(1)

stty(1)

stty(1B)

sum(1)

sum(1B)

sun(1)

suspend(1)

svcprop(1)

svcs(1)

switch(1)

symorder(1)

sys-suspend(1)

sysV-make(1)

t300(1)

t300s(1)

t4014(1)

t450(1)

tabs(1)

tail(1)

talk(1)

tar(1)

tbl(1)

tcopy(1)

tee(1)

tek(1)

telnet(1)

test(1)

test(1B)

tftp(1)

time(1)

timemanp(1)

times(1)

timesysp(1)

timex(1)

tip(1)

touch(1)

touch(1B)

tplot(1)

tput(1)

tr(1)

tr(1B)

trap(1)

troff(1)

true(1)

truss(1)

tset(1B)

tsort(1)

tty(1)

type(1)

typeset(1)

ul(1)

ulimit(1)

umask(1)

unalias(1)

uname(1)

uncompress(1)

unexpand(1)

unget(1)

unhash(1)

unifdef(1)

uniq(1)

units(1)

unix2dos(1)

unlimit(1)

unpack(1)

unset(1)

unsetenv(1)

until(1)

updatehome(1)

uptime(1)

userattr(1)

users(1B)

uucp(1C)

uudecode(1C)

uuencode(1C)

uuglist(1C)

uulog(1C)

uuname(1C)

uupick(1C)

uustat(1C)

uuto(1C)

uux(1C)

vacation(1)

val(1)

valdate(1)

valgid(1)

valint(1)

valpath(1)

valrange(1)

valstr(1)

valtime(1)

valuid(1)

valyorn(1)

vc(1)

vedit(1)

ver(1)

vgrind(1)

vi(1)

view(1)

vipw(1B)

volcheck(1)

volrmmount(1)

w(1)

wait(1)

wc(1)

what(1)

whatis(1)

whence(1)

whereis(1B)

which(1)

while(1)

who(1)

whoami(1B)

whocalls(1)

whois(1)

write(1)

xargs(1)

xgettext(1)

xstr(1)

yacc(1)

yes(1)

ypcat(1)

ypmatch(1)

yppasswd(1)

ypwhich(1)

zcat(1)

zlogin(1)

zonename(1)

zonestat(1)

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

setfacl

- 修改一个或多个文件的访问控制列表 (Access Control List, ACL)

用法概要

setfacl [-r] -s acl_entries file
setfacl [-r] -md acl_entries file
setfacl [-r] -f acl_file file

描述

对于指定的每个文件,setfacl 将替换其整个 ACL(包括目录上的缺省 ACL),或者将添加、修改或删除一个或多个 ACL 条目(包括目录上的缺省条目)。

使用 setfacl 命令时,会导致对文件权限位发生更改。文件所有者的用户 ACL 条目发生更改时,将会修改文件所有者类权限位。文件组类的组 ACL 条目发生更改时,将会修改文件组类权限位。其他 ACL 条目发生更改时,将会修改文件的其他类权限位。

如果您使用 chmod(1) 命令更改含有 ACL 条目的文件的文件组所有者权限,则会同时将文件组所有者权限和 ACL 掩码更改为新的权限。请注意,对于文件中有其 ACL 条目的附加用户和组,新的 ACL 掩码权限可能会更改其有效权限。

目录可以包含缺省 ACL 条目。如果某个文件或目录是在包含缺省 ACL 条目的目录中创建的,则该新创建的文件具有根据缺省 ACL 条目的交集生成的权限以及创建时请求的权限。如果目录包含缺省 ACL 条目,则不会应用 umask(1)。如果为某个特定用户(或多个用户)指定了缺省 ACL,该文件会创建一个常规 ACL。否则,将根据上面所述的交集初始化模式位。缺省 ACL 应当被看作可以授予的最大自主访问权限。

可使用 setfacl 命令对 UFS 文件系统中的文件设置 ACL,UFS 文件系统支持 POSIX 式 ACL(或 aclent_t 式 ACL)。可使用 chmod 命令对 ZFS 文件系统中的文件设置 ACL,ZFS 文件系统支持 NFSv4 式 ACL(或 ace_t 式 ACL)。

acl_entries 语法

对于 -m-s 选项,acl_entries 是一个或多个以逗号分隔的 ACL 条目。

ACL 条目包含以下以冒号分隔的字段:

entry_type

设置文件权限时所基于的 ACL 条目的类型。例如,entry_type 可以是 user(文件的所有者)或 mask(ACL 掩码)。

uidgid

用户名或用户标识号。或者,组名或组标识号。

perms

表示对 entry_type 设置的权限。perms 可以由符号字符 rwx 或数字指示(随 chmod 命令使用的相同权限编号)。

下表列出了有效的 ACL 条目(只能为目录指定缺省条目):

ACL 条目
说明
u[ser]::perms
文件所有者权限。
g[roup]::perms
文件组所有者权限。
o[ther]:perms
文件所有者或文件组所有者成员以外的其他用户的权限。
m[ask]:perms
ACL 掩码。掩码条目指示允许供用户(所有者除外)和组使用的最大权限。可以通过掩码快速更改所有用户和组的权限。
u[ser]:uid:perms
特定用户的权限。对于 uid,可以指定用户名或数字 UID。
g[roup]:gid:perms
特定组的权限。对于 gid,可以指定组名或数字 GID。
d[efault]:u[ser]::perms
缺省文件所有者权限。
d[efault]:g[roup]::perms
缺省文件组所有者权限。
d[efault]:o[ther]:perms
文件所有者或文件组所有者成员以外的其他用户的缺省权限。
d[efault]:m[ask]:perms
缺省 ACL 掩码。
d[efault]:u[ser]:uid:perms
特定用户的缺省权限。对于 uid,可以指定用户名或数字 UID。
d[efault]:g[roup]:gid:perms
特定组的缺省权限。对于 gid,可以指定组名或数字 GID。

对于 -d 选项,acl_entries 是一个或多个以逗号分隔的没有权限的 ACL 条目。请注意,无法删除文件所有者、文件组所有者、ACL 掩码和其他用户的条目。

选项

这些选项的含义如下所示:

-d acl_entries

从文件中删除一个或多个条目。无法从 ACL 中删除文件所有者、文件组所有者和其他用户的条目。请注意,删除条目不一定与从条目中删除所有权限具有相同的效果。

-f acl_file

使用名为 acl_file 的文件中包含的 ACL 条目设置文件的 ACL。对指定条目所具有的约束与 -s 选项相同。不要求条目在文件中采用任何特定顺序。此外,如果为 acl_file 指定了短划线 (-),则会使用标准输入来设置文件的 ACL。

acl_file 中的字符 # 可用来指示注释。以 # 开头的所有字符(直至行尾)都将被忽略。请注意,如果 acl_file 已作为 getfacl(1) 命令的输出而创建,则会忽略 # 之后的任何有效权限。

-m acl_entries

将一个或多个新 ACL 条目添加到文件,和/或修改文件中的一个或多个现有 ACL 条目。如果对于指定的 uidgid 已经存在一个条目,则指定的权限会替换当前权限。如果对于指定的 uidgid 不存在条目,则会创建一个条目。使用 -m 选项修改缺省 ACL 时,第一次必须指定完整的缺省 ACL(用户、组、其他、掩码和任何附加条目)。

-r

重新计算 ACL 掩码条目的权限。在 ACL 掩码条目中指定的权限将被忽略,并由对 ACL 中所有其他用户、文件组所有者和其他组条目授予访问权限所需的最大权限替换。其他用户、文件组所有者和其他组条目中的权限保持不变。

-s acl_entries

设置文件的 ACL。所有旧 ACL 条目将被删除,并替换为新指定的 ACL。相应条目不需要采用任何特定顺序。在应用于文件之前,将由该命令对其进行排序。

必需的条目:

  • 只为文件所有者指定一个 user 条目。

  • 只为文件组所有者指定一个 group 条目。

  • 只指定一个 other 条目。

如果存在其他用户和组条目:

  • 只为指示用户(所有者除外)和组允许使用的最大权限的 ACL 掩码指定一个 mask 条目。

  • 不得存在 uid 相同的重复 user 条目。

  • 不得存在 gid 相同的重复 group 条目。

如果 file 是一个目录,则可以指定以下缺省 ACL 条目:

  • 只为文件所有者指定一个 default user 条目。

  • 只为文件组所有者指定一个 default group 条目。

  • 只为 ACL 掩码指定一个 default mask 条目。

  • 只指定一个 default other 条目。

可以指定其他 default user 条目和其他 default group 条目,但不能指定 uid 相同的重复其他 default user 条目,或 gid 相同的重复 default group 条目。

示例

示例 1 只添加读取权限

以下示例将一个 ACL 条目添加到文件 abc,这将只为用户 shea 授予读取权限。

setfacl -m user:shea:r-- abc

示例 2 替换文件的整个 ACL

以下示例替换文件 abc 的整个 ACL,这将授予 shea 读取访问权限,授予文件所有者所有访问权限,授予文件组所有者只读访问权限,授予 ACL 掩码只读访问权限,而不授予其他用户任何访问权限。

setfacl -s user:shea:rwx,user::rwx,group::rw-,mask:r--,other:--- abc 

请注意,执行此命令后,文件权限位是 rwxr-----。虽然为文件组所有者设置了读取/写入权限,但 ACL 掩码条目将其限制为只具有读取权限。该掩码条目还指定可用于所有其他用户和组 ACL 条目的最大权限。同样,虽然为用户 shea 设置了所有访问权限,但掩码会将其限制为只具有读取权限。通过 ACL 掩码条目,可以快速限制或开放对 ACL 中所有用户和组条目的访问权限。例如,通过将掩码条目更改为读取/写入,文件组所有者和用户 shea 均将被授予读取/写入访问权限。

示例 3 对两个文件设置相同的 ACL

以下示例对文件 abc 设置与文件 xyz 相同的 ACL。

getfacl xyz | setfacl -f - abc

文件

/etc/passwd

口令文件

/etc/group

组文件

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os

另请参见

chmod(1)getfacl(1)umask(1)aclcheck(3SEC)aclsort(3SEC)group(4)passwd(4)attributes(5)