linux小白入门篇之二
linux学习
你的选择是做或不做,做不一定会成功,但不做就永远不会有机会。
1、linux系统的输入与输出
管道的输入与输出
在linux中,在linux系统中,正确输出的编号为1,错误输出编号为2
输出重定向
> ##重定线正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意:重定向会覆盖原文件内容
find /etc/ -name passwd > file ##重定向到正确输出
find /etc/ -name passwd 2> file ##重定向到错误输出
find /etc/ -name passwd& > file ##重定向到所有输出
输出追加
find /etc/ -name passwd >>file ##追加正确输出到file
find /etc/ -name passwd 2>>file ##追加错误输出到file
find /etc/ -name passwd &>>file ##追加所有输出到file
管道的应用
“|”管道的作用是将前一条的命令的输出变成后一条命令的输入
注意:管道只允许正确输出通过,通过管道的输出将会变成输入,如果需要保存输出内容,那么要复制一份输出,命令是“tee”
find /etc/ -name passwd | wc -l ##看到结果为2,因为错误结果不能通过管道。
find /etc/ -name passwd 2>&1 | wc -l ##看到输出结果为总数,因为错误结果被转化为正确输出
find /etc/ -name passwd 2>&1 | tee file |wc -l ##保存一份到file,再统计行数
2、用户群组的管理
用户管理
1)查看当前用户
whoami
2)系统中用户的查看
id ##查看当前用户的uid
id -u ##查看用户的uid
id -g ##查看用户的gid
id -G ##查看当前用户所在的所有组id
id -n ##显示名字而不是数字
3)切换用户
su -用户名称
su -中“-”表示用户身份切换时同时切换当前的用户环境
su -执行高级用户切换到低级用户时不需要密码,低级用户切换到高级用户需要密码,平级切换也需要密码
注意:每次切换到其他用户操作完成之后推出,再切换到其他用户操作。
4)系统中用户的存储方式
用户信息文件 /etc/passwd
用户名称:用户密user码:组id : 组成员
用户组信息文件 /etc/group
组名:组密码:组id:组成员
认证信息文件 /etc/shadow
用户家目录 /home/username
5)用户管理命令
用户的建立
useradd -u id 用户名称 ##指定用户的uid
useradd -g id 用户名称 ##指定用户的组id
useradd -G id 用户名称 ##指定附加组id
useradd -c "hello" 用户名称 ##指定用户的说明
useradd -d /home/lee 用户名称 ##指定用户的家目录
useradd -s /sbin/nologin 用户名称 ##指定用户的默认shell
用户的删除
userdel
userdel 用户名称 ##删除用户但不删除用户的配置文件
userdel -r 童虎名称 ##删除用户并且删除用户的配置文件
用户组的操作
groupadd ##建立用户组
groupadd -d id ##建立用户组并指定用户组id
groupdel ##删用户组
更改用户用户信息
usermod
usermod -l 新名称 用户名称 ##更改用户名称
usermod -u 新uid 用户名称 ##更改用户uid
usermod -g 新gid 用户名称 ##更改用户gid
usermod -G 附加组 用户名称 ##更改用户附加组
usermod -c “”haha“” 用户名称 ##指定用户说明文字
usermod -md "/home/lee" 用户名称 ##更改家目录
usermod -s /sbin/nologin 用户名称 ##更改用户的shell
usermod -L 新名称 用户名称 ##冻结用户
usermod -U 新名称 用户名称 ##解锁用户
用户认证信息
记录用户信息/etc/shadow
此文件一共有9列
用户名称:用户密码:用户密码最够一次更改时间:用户密码最短有效期:最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
用户密码
passwd 用户名称 ##更改用户密码
passwd -l 用户名称 ##对密码加锁
passwd -u 用户名称 ##对密码解锁
passwd -d 用户名称 ##清空用户密码
用户密码最后一次被更改的时间
passwd -e 1 用户名称 #用户登录时会被强制改密码
用户密码最短有效期
passwd -n 1 用户名称 #用户在一天之内不能修改密码
用户到期日
chage -E 2018-09-27 #用户在2018-09-27到期
这些操作都要在平级之间进行
3、文件权限
为什么需要权限管理?
计算机资源有限,我们需要合理的分配计算机资源。
Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的
由于Linux的一切皆文件的基本思想,对于权限的管理更多的则体现在管理文件权限上。为了
方便的指派权限,在Linux中定义了文件属主,文件属组,其他人这三类人的权限。
对于计算机来说,这三类都是一个标识符。
通过 ls 命令我们可以看到文件的具体权限信息。
drwxrwxr-x 2 wa wa 2020 Sep 27 15:29 .
drwxrwxr-x 5 wa wa 2020 Sep 227 16:38 …
-rw-rw-r-- 1 wa wa 0 Jun 5 02:29 file
将文件的具体权限可以分成八个内容来看
d | rwxrwxr-x| 2 | wa | wa| 2020| Sep2715:29 | file
[1] [2] [3] [4] [5] [6] [7] [8]
[1]文件的类型
- ##空文本
d ##目录
l ##软连接
s ##socket套接字
b ##block块设备
c ##字符设备
[2]文件权限信息
rwx |rwx |r-x
文件权限信息一共有9位,每3位一组,分别表示属主,属组,其他人的权限信息
权限:r w x
对于文件:
r:可读,可以使用cat等命令查看文件内容
w:可写,可以进行编辑修改,或删除操作
x:可执行,可以在命令提示符下当做命令提交给内核运行
对于目录:
r:可以对此目录执行ls命令,列出内部所有文件
w:可以在此目录下创建文件
x:可以使用cd命令切换进此目录,也可以使用ls -l命令查看内部文件的详细信息
对于目录来说,一般会有执行权限,而对于文件来说,一般默认没有执行权限。
[3]
对文件:文件硬链接个数
对目录:目录中子目录的个数(不是文件)
[4]
文件所属人
[5]
文件所属组
[6]
对文件:文件的大小
对目录:目录中子文件元数据的大小
[7]
文件内容被修改时间
[8]
文件名称
修改文件的所有人和所grouwe有组
chown username file|dir
chown user.group file|dir
chown -R user.grocat
chgrp group file|dir
charg -R group dir
修改文件的权限的方式
chmod <u|g|o><+|-|=><r|w|x> file|dir
有一种比较方便的修改方法,直接加二进制数字。
|r |w |x
4 2 1
chomd 542 file ##意思就是 u(r-x) g(r--) o(-x-)
特殊权限
系统默认的权限设定
从系统的角度出发,权利开放的越大,安全性就越小,再linux系统中一切皆文件,病毒都是二进制的文件,一不小心给文件一个执行的权利就中病毒了,所以说系统开放的权利越小系统就越安全,因此系统再设定文件或者目录的时候就会默认的去掉一些权限。
设定方法
umask ##通常情况下umask的字为0022
但是也可以临时设定,临时设定的只在当前的shell中生效
修改umask 033
永久的设定方法
vim /etc/bashrc ##shell
70 if [ $UID -gt 199 ] && [ “id -gn
” = “id -un
” ]; then
71 umask 002 ##普通用户umask
72 else
73 umask 077 ##超级用户umask
74 fi
vim /etc/profile ##系统
59 if [ $UID -gt 199 ] && [ “id -gn
” = “id -un
” ]; then
60 umask 002 ##普通用户umask
61 else
62 umask 077 ##超级用户umask
63 fi
以上两个文件umask设定值必须保持一致
让设定立即生效
source /etc/bashrc
source /etc/profile
设定acl列表
setfacl -m <u|g>:<username|groupname>:权限 文件|目录
-m #设定
u #用户
g #组
查看 acl列表
getfacl +dir|file
acl开启后
getfacl ##查看acl的文件权限
user:rw- ##文件所有人的权限
user:用户名称:rwx ##指定用户的权限
group::r-- ##文件所有组的权限
mask::rwx ##能赋予用户的最大权利阈值
other::r-- ##其他人的权限
1.mask 权限掩码
mask用来标实能够赋予用户最大权限
当用chmod改变文件普通权限时可能会被破坏
恢复mask值:
setfacl -m m:rwx 文件名称
acl 默认权限
当我们需求某个目录对于annie可写,并且目录中新建的子目录对annie也可写
就要设定默认默认权限
注意: 默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,
对于目录本身也无效
setfacl -m d:u:annie:rwx /mnt/haha
特殊权限
- sticky ##粘制位
作用:
只针对,目录生效,当一个目录上有sticky权限时在这个目录中的文件只能被文件的所有者删除。
设定方式
chmod o+t dir
chmod 1xxx dir
- sgid ##强制位
作用:对文件:只针对二进制可执行文件,当文件上有sfid时,任何人执行此文件产生的进程都属于文件的组
对目录:当目录上有sgid时,任何人所建立的文件都属于目录的所有组
设定方式chmod g+s file|dir
chmod 2xxxx file|dir
- suid ##冒险位作用:
只针对二进制可执行文件
当文件上有suid时任何人执行这个文件中的程序产生的进程收属于问文件的所以人
设定方式
chmod u+s file
chmod 4xxxx file