Linux系统是多人多用户的操作系统
字符 |
含义 |
r |
read读;查看权限; 目录:ls; |
w |
write写;文件的增删改; 目录:创建、改名、删除、移动 |
x |
execute执行;文件可以被执行;目录:可以cd; |
u |
user用户 |
g |
group组 |
o |
other其他(普通用户) |
a |
all所有 |
t |
粘连权限(特殊权限) |
s |
权限提升(特殊权限) |
chmod:修改文件或目录的权限
权限对普通用户有效,对root无效。
格式:chmod 权限 [选项] 文件
选项:-r/-R 递归设置,将目录中的所有文件都设置一样的权限
查看权限:ls -l
1.文件类型:-普通文件,d目录文件,c字符串文件,b块文件,l链接文件
2~10,属主 属组 其他用户
stat也可以查看权限
权限 |
数字 |
含义 |
--- |
0 |
没权限 |
--x |
1 |
执行权限 |
-w- |
2 |
写权限 |
-wx |
3 |
写+执行权限 |
r-- |
4 |
读权限 |
r-x |
5 |
读+执行权限 |
rw- |
6 |
读+写权限 |
rwx |
7 |
读+写+执行权限 |
chmod 123 1.txt 把文件1.txt的权限改为123(---x-w--wx)
chmod u=x,g=w,o=wx 1.txt 把文件1.txt的权限改为---x-w--wx(123)
常用的权限组合:
777:共享目录
666:共享文件
755:允许其他用户读的目录
644:允许其他用户读的文件
700:自己私有的目录
600:私有文件
711:可执行文件
默认权限:
umask 修改默认权限0022
目录=0777-0022=755
文件=0666-0022=644
umask
744 rwxr--r--
chown:修改属主(权限的所有者)
格式:chown 属主,属组 文件
chown 属主,属组 - R 目录
useradd tom 创建用户toom
passwd tom 为用户toom创建密码
切换用户
su tom 在当前目录切换到该用户
su - tom 在切换用户时,自动cd用户家目录,加载用户配置
切换root用户
su root
su - root
su -
注意:
root用户切换到其他用户不需要密码
root可以修改所有用户的密码
普通用户只能修改自己的密码
普通用户切换到其他用户(包括root)都需要密码
exit 退出当前用户,返回之前的用户或退出登录
chmod:修改文件权限
普通用户可以修改自己的文件,root可以修改所有的文件
chomn:修改文件的所有者(属主)
root才能修改其他文件的属主和属组
chown zj -R /home/zj
chgrp:修改文件属组
特殊权限(了解)
SUID:rwsrwxrwx→chmod u+s filename(u位置s**)
让其他用户使用拥有SUID权限命令时,可以使用所有者的权限。
passwd默认拥有SUID权限。(普通用户修改自己密码时,要有root权限)
s原来有执行权限,才会变成s为生效。否则为S,不生效
SUID权限数字为4
chmod 4xxx 文件
chmod u+s 文件
SGID:所有组的x变成s,其他人以组权限执行命令。(g位置*s*)
SGID权限数字为2
chmod 2xxx 文件
chmod g+s 文件
SUID+SGID权限数字为6
chmod 6xxx 文件
chmod u+s,g+s 文件
stickybit:粘滞位(o位置**t)
给共享目录设置粘滞位,作用是在该目录只能删除自己文件,没有修改权限不能修改,不能移动
stickybit权限数字为1
chmod o+t dir
chmod 1777 dir
SUID+SGID+stickybit权限数字为7(没什么作用)
chmod 7xxx 文件
隐藏权限(了解)
可以限制root的权限操作,保护重要文件,保险作用
lsattr 查看隐藏权限
chattr 修改隐藏权限
A:文件或目录的atime不可被修改
S:硬盘I/O同步选项,功能类似sync。Linux默认为异步I/O
a:只能向文件中添加数据,而不能删除数据
d:文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。锁定文件。
+:添加权限
-:删除权限
=:赋予权限
buff:写入缓存、存放在内存中等待写入的缓存。sync命令可以写入磁盘。
cache:读出缓存,从磁盘中预先加载的数据,等待被程序运行。
ACL权限(了解)
三类用户:user所有者,group同组人员,other其他人、
ACL(访问控制列表);单独赋予某个用户对文件的rwx相关权限。
获取文件的acl权限
getfacl filename
设置权限
setfacl -m u:tom:rm- filename
删除用户acl权限
setfacl -x u:tom filename
删除文件所有acl权限
setfacl -b filename
对目录设置acl权限
setfacl -m d:u:tom:rwx dir
chgrp:修改属组
格式:chgrp [选项] 组名 文件名
组(group):默认组、附加组。可以把多个用户添加到同一小组当中,用于批量权限管理。
chgrp修改属组
chgrp root filename
chmod 可以改组权限
chmod g=rw filename
sudo:提权,让普通用户临时使用root权限执行命令
使用root身份修改、etc/sudoers文件,将普通用户添加到该文件并进行设置
vim /etc/sudoers
在第101行
zj ALL=(ALL) ALL
切换普通用户
su - zj
使用sudo执行命令
sudo reboot
普通用户改root密码
sudo passwd