您的位置:首页 > 运维架构 > Linux

Linux用户和文件权限管理

2017-09-19 00:00 435 查看
本文为原创文章,转载请标明出处

目录

用户管理

系统用户文件

添加用户 useradd

设置用户密码 passwd

删除用户 userdel

用户管理 usermod

用户组管理

系统用户组文件

添加用户组 groupadd

删除用户组 groupdel

用户组管理

基本权限及管理命令

修改文件属主 chown

修改文件属组 chgrp

文件权限管理 chmod

suid、sgid、sticky权限

权限掩码 umask

POSIX ACL权限系统及其管理命令

ACL权限管理 setfacl

ACL权限查看 getfacl

1. 用户管理

系统用户文件

系统用户文件
etc/passwd


用户密码文件
etc/shadow


添加用户 useradd

# useradd [username]

参数

d:指定用户home目录
e:设置过期时间
g:指定新用户所属的用户组
s:指定新用户使用的shell
u:设置用户UID

例如:

# useradd -s /bin/ksh metaphors

# useradd -g group user

设置用户密码 passwd

# passwd [username]

删除用户 userdel

# userdel [username]

删除用户及其家目录和邮件文件
# userdel -r [username]

用户管理 usermod

# usermod [username]

参数

L:锁定用户,禁止用户登录系统
U:解除锁定
e:指定用户过期的日期
f:指定用户过期之后的缓冲时间,即过期后还能登陆的天数
d:为用户指定新的家目录
m:为用户指定新的家目录时,移动原来家目录中的所有文件
s:修改用户的默认shell

2. 用户组管理

系统用户组文件

系统用户组文件
\etc\group


用户组密码文件
\etc\gshadow


添加用户组 groupadd

# groupadd [groupname]

删除用户组 groupdel

# groupdel [groupname]

用户组管理

参数

g:将用户的私有组改变为选项指定的组
G:为用户添加多个附加组,使用逗号作为分隔符
a:将用户以追加的方式添加到一个附加组

例如:

# usermod -g teacher metaphors

# usermod -G teacher,admin metaphors

3. 基本权限及管理命令

修改文件属主 chown

# chown [user:group] [file]

参数

-R => 递归修改

修改文件属组 chgrp

# chgrp [group] [file]

参数

-R => 递归修改

文件权限管理 chmod

# chmod [mode] [file]

权限表达式:

操作对象
u => user
g => group
o => other
a => all

操作符
+ => 添加权限
- => 删除权限
= => 赋予权限

权限列表
r => 读
w => 写
x => 执行

参数

-R => 递归修改

suid、sgid、sticky权限

suid => set权限处于属主权限位
sgid => set权限处于属组权限位
sticky => sticky权限,防删除,但不能阻止root和属主删除

绝对模式下,从右向左第4位,4表示suid,2表示sgid,1表示sticky

以符号模式设置属主set权限
# chmod u+s test.sh
以符号模式设置属组set权限
# chmod g+s test.sh
以符号模式添加防删除位
# chmod o+t file

以绝对模式设置属主和属组set权限
# chmod 6755 test.sh
以绝对模式添加防删除位
# chmod 1777 file

权限掩码 umask

查看umask
# umask

修改umask
# umask []

umask命令修改的umask值在重启后丢失,若需要保存,可写入shell配置文件中

4. POSIX ACL权限系统及其管理命令

POSIX:Portable Operating System Interface 可移植操作系统接口

ACL:Access Control List 访问控制列表

ACL权限管理 setfacl

# setfacl [ACL表达式] [filename]

ACL表达式:[对象类型]:[对象]:权限列表

参数

b:删除所有扩展ACL权限
k:删除默认的ACL权限
d:设置默认的ACL权限
R:递归设置
m:修改、添加已有的ACL权限

例如:

# setfacl -m u:metaphors:rw file

ACL权限查看 getfacl

# getfacl [filename]

如有不当之处,请予指正,谢谢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux