一、对文件/目录读写执权限
1.1 读权限
- 对文件
可以查看文件内容
cat/vim/gedit/less/more/head/tail - 对目录
只拥有读权限,可以ls 查看目录内容,不能切换进目录中去,也不能创建目录或文件
1.2 写权限
- 对文件
不能通过cat等命令查看文件内容,但是可以修改文件的内容。 - 对目录
只拥有读权限,可以ls 查看目录内容,不能切换进目录中去 也不能创建目录或文件
1.3 执行权限
- 对文件
可以执行文件,比如说.bat脚本等。 - 对目录
只拥有执行权限 ,不能ls 查看目录内容,可以切换进目录中去,但是不能创建目录或文件
1.4 写和执行权限
- 对目录
可以切换进去目录,可以新建或者删除文件,但是不能ls查看目录内容。
二、umask命令
2.1 作用
用于用户在创建文件或者目录时的设置文件或者目录的默认权限。
2.2 查看默认权限
ybx@ybx:~$ umask
0022
2.3 设置临时权限
ybx@ybx:~$ umask 333
ybx@ybx:~$ umask
0333
- 对文件默认权限进行设置
用110110110与设置的值相与,得到的值就是设置的值 - 对目录默认权限进行设置
用111111111与设置的值相与,得到的值就是设置的值
2.5 永久设置权限
vim /etc/profile
vim /etc/bashrc
三、特殊权限
3.1 SUID
使文件以所有者的身份运行,也就是无论谁来执行这个文件,他都有文件的所有者的权限
chmod u+s xxx
3.2 SGID
使文件具有所属组的特权;若目录被设置了SGID,则所有被复制到这个目录下的文件,其所属组都会被重设为和这个目录一样,用-p可保持原所属组。
chmod g+s xxx
3.3 stiky-bit
对文件设置stiky-bit,其他用户有写权限,但是没有删除权限,移动权限;
对目录设置stiky-bit权限,存放在该目录的文件仅允许所属者执行删除,移动等权限。
chmod o+t xxx
四、acl命令
4.1 getfacl
- 得到文件权限信息
ybx@ybx:~$ getfacl a
# file: a
# owner: ybx 文件拥有者
# group: ybx 文件所属组
user::r-- 文件拥有者权限
group::r-- 文件所属组权限
other::r-- 其他人的权限
4.2 setfacl
- 选项–set和–set-file用来设置文件或目录的acl规则,先前的设定将被覆盖。
- 选项-m(–modify)和-M(–modify-file)选项修改文件或目录的acl规则。
- 选项-x(–remove)和-X(–remove-file)选项删除acl规则。
4.3 举例
- 例1
root@ybx:~# setfacl -m u:user1:rwx c
- 结果
root@ybx:~# getfacl a
# file: a
# owner: root
# group: root
user::rw-
user:user1:rwx
group::r--
mask::rwx
other::r--
- 例2
setfacl -m g:group2:rw a
- 结果
root@ybx:~# getfacl a
# file: a
# owner: root
# group: root
user::rw-
user:user1:rw-
group::r--
group:group2:rw-
mask::rw-
other::r--
- 例3
setfacl -b a
- 结果
root@ybx:~# getfacl a
# file: a
# owner: root
# group: root
user::rw-
group::r--
other::r--
4.4用法
用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m, --modify=acl 更改文件的访问控制列表
-M, --modify-file=file 从文件读取访问控制列表条目更改
-x, --remove=acl 根据文件中访问控制列表移除条目
-X, --remove-file=file 从文件读取访问控制列表条目并删除
-b, --remove-all 删除所有扩展访问控制列表条目
-k, --remove-default 移除默认访问控制列表
--set=acl 设定替换当前的文件访问控制列表
--set-file=file 从文件中读取访问控制列表条目设定
--mask 重新计算有效权限掩码
-n, --no-mask 不重新计算有效权限掩码
-d, --default 应用到默认访问控制列表的操作
-R, --recursive 递归操作子目录
-L, --logical 依照系统逻辑,跟随符号链接
-P, --physical 依照自然逻辑,不跟随符号链接
--restore=file 恢复访问控制列表,和“getfacl -R”作用相反
--test 测试模式,并不真正修改访问控制列表属性
-v, --version 显示版本并退出
-h, --help 显示本帮助信息
五、 ssh命令
5.1 登录其他用户
ssh username@ip
5.2 操作其他用户更多功能
ssh -X username@ip
5.3 上传
scp xx username@ip
5.4 下载
scp username@ip xx
六、mv和cp的区别
6.1 功能上的区别
mv:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中。
$ mv b.txt ./A
cp: 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中
6.2 从inode角度来区分
mv:会将存储于indoe索引节点上的文件元信息也移动到新文件中。
cp : 只会复制文件数据,不会复制inode索引节点上的文件元信息。
root@ybx:~# ll a
-rw-r--r-- 1 root root 0 6月 22 23:49 a
root@ybx:~# cp a d
root@ybx:~# ll d
-rw-r--r-- 1 root root 0 6月 23 00:13 d
七、用户,所有组
7.1 chmod命令
- 修改文件权限
chmod ugo+r file1.txt
- 可同时设置多个文件权限
chmod ug+w,o-w file1.txt file2.txt
7.2 文件所有者,群组,其他区别
-
文件所有者
Linux支持多人多任务,即可能存在多人使用同一个linux系统的情况, 这样,用户的私有一些文件,用户可以设置仅文件的所有者可以修改,查看和执行。 -
群组
多个用户可以组成一个群组,设置群组是相关权限,仅群组内的成员就可以拥有权限,而其他群组的人则不拥有权限。 -
其他
不属于文件所有者和群组的成员都列为其他。
7.3 查看文件权限
- 第三列是文件所有者和文件所属组
-rw-r--r-- 1 ybx 197609 0 12月 2 15:13 a.txt
7.4 创建删除用户和群组
- 创建用户(uid为0是root用户,1-499是保留id)
useradd -u uid 用户名
- 创建组
groupadd -g gid 组名
- 删除用户
userdel 用户名
- 删除组
groupdel 组名
7.5 修改文件所属组及所属用户
- 修改所属用户
chown 用户名 a.txt
- 修改所属组
chgrp 组名 a.txt
- 修改目录下所有文件的所属组
chgrp 组名 a.txt
7.6 查看当前系统的用户
$ whoami
ybx
八、vim命令
8.1 常见vim命令
- ! 强制,w 保存,q 退出 e 放弃
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑