您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux系统怎么修改权限与默认权限
## 一、Linux权限基础概念
在Linux系统中,每个文件和目录都有三组权限设置,分别对应三种用户身份:
1. **所有者(User)**:文件/目录的创建者
2. **所属组(Group)**:文件/目录所属的用户组
3. **其他用户(Others)**:既不是所有者也不在所属组的用户
每组权限包含三种基本权限:
- **r (read)**:读取权限
- **w (write)**:写入权限
- **x (execute)**:执行权限
权限的表示方式有两种:
- 字母表示法:如`rwxr-xr--`
- 数字表示法:如`755`(r=4, w=2, x=1)
## 二、修改文件/目录权限
### 1. chmod命令
`chmod`是修改权限的主要命令,有两种使用方式:
#### 字母模式
```bash
chmod [ugoa][+-=][rwx] 文件名
示例:
chmod u+x script.sh # 给所有者添加执行权限
chmod go-w file.txt # 移除组和其他用户的写权限
chmod a=rw config.cfg # 设置所有用户为读写权限
chmod 数字权限 文件名
示例:
chmod 755 script.sh # 所有者rwx,组和其他用户rx
chmod 644 file.txt # 所有者rw,组和其他用户r
Linux还有三种特殊权限: - SUID (4):执行时以所有者身份运行 - SGID (2):目录下新建文件继承组ID - Sticky Bit (1):只有所有者能删除/重命名
设置方法:
chmod 4755 file # 设置SUID
chmod 2755 dir # 设置SGID
chmod 1777 /tmp # 设置Sticky Bit(典型/tmp目录设置)
chown 用户名:组名 文件名
示例:
chown root:admin server.cfg # 修改所有者和组
chown :developers *.py # 只修改组
chown -R www:www /var/www # -R递归修改目录下所有文件
chgrp 组名 文件名
umask值决定了新建文件和目录的默认权限,通过”屏蔽”特定权限位实现: - 默认文件权限:666 - umask - 默认目录权限:777 - umask
umask # 显示当前值(如0022)
umask -S # 符号显示(u=rwx,g=rx,o=rx)
umask 0027 # 设置新umask值
编辑shell配置文件(如~/.bashrc或/etc/profile):
# 对于所有用户
echo "umask 0022" >> /etc/profile
# 对于特定用户
echo "umask 0027" >> ~/.bashrc
umask 0022
(新文件644,目录755)umask 0027
(新文件640,目录750)umask 0002
(新文件664,目录775)当基本权限不能满足需求时,可以使用ACL(访问控制列表):
mount | grep acl # 确认文件系统已挂载acl选项
setfacl -m u:用户名:权限 文件名
setfacl -m g:组名:权限 文件名
示例:
setfacl -m u:testuser:rwx project/
setfacl -m g:developers:r-x /src/
getfacl 文件名
setfacl -d -m u:用户名:权限 目录名
find
命令检查异常权限find / -perm -4000 -type f # 查找所有SUID文件
find / -perm -2000 -type f # 查找所有SGID文件
通过合理设置权限和默认权限,可以有效保障Linux系统的安全性和可用性。建议管理员根据实际业务需求,制定适合的权限策略。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。