Linux 学习笔记(三)
编程语言
2018-08-13 04:59:26
阅读次数: 0
echo ------- >> 1.txt
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 20G 5.2G 13G 29% /
tmpfs tmpfs 1000M 124K 1000M 1% /dev/shm
/dev/sda1 ext4 194M 28M 157M 15% /boot
用户及权限管理
虚拟用户是跑服务用的。
组是一堆用户的集合,一个用户可以属于多个组
UID = 0 -> 超级用户
在创建张三用户的同时也会自动创建张三组,并把张三加入进去,由于张三是第一个用户,所以这叫张三的基本组,后加入的用户都是附加组
基本组与附加组的区别:设置磁盘配额时,针对基本组,不针对附加组 ,但是生产环境下大多针对用户做磁盘配额。
vim/etc/passwd 用户所在地
root:x:0:0:root:/root:/bin/bash
x:密码占用符,在另一个文件中
0:UID
0:GID
root:什么用户,描述,可以不要
/root:家目录(宿主目录)
/bin/bash: 它的shell,onlogin:不能登陆系统
/etc/shadow 用户密码所在地
root:$6$aF2yZRcY.dzfTF8B$n128ssxjA0oq39hpBGKCwcsPwcI/x6W8px9xC5Qsf8oiCqp3MvBmvGpNmXjw6OoTOXodvAoycL32ULL1dMVxE0:16786:0:99999:7:::
//密码加密字符串,16786代表上一次改密码距离今天过了多少天,从1970-1-1开始算
//99999 :密码有效期,期限可以改
//7 : 过期时间
hsqldb:!!:16786::::: !!表示这个用户没有密码(被锁定了),没有密码不能登陆,区别于空密码
ftp:*:15155:0:99999:7::: *表示这个用户没有密码
/etc/group 组所在地
root:x:0:root
root:root组
x:表示组的密码占位符,已经淘汰不用了
0:GID
root:组内成员,可以通过VIM,插入添加组成员
daemon:x:2:root,bin,daemon
/etc/gshadow 组密码所在地,已无用
添加用户
zhangsan:x:501:501::/home/zhangsan:/bin/bash
zhangsan:!!:16790:0:99999:7:::
uid=501(zhangsan) gid=501(zhangsan) 组=501(zhangsan)
[root@localhost 桌面]# useradd -u 4444 -d /churchill -e 2016-12-31 -s /sbin/nologin churchill
[root@localhost 桌面]# tail -1 /etc/passwd //查看用户
churchill:x:4444:4444::/churchill:/sbin/nologin
[root@localhost 桌面]# ls / //查看宿主目录churchill
10K bin cgroup dev etc lib lost+found misc net proc sbin srv test usr
backup boot churchill dir1 home lib64 media mnt opt root selinux sys tmp var
[root@localhost 桌面]# tail -1 /etc/shadow //查看密码
churchill:!!:16790:0:99999:7::17166:
[root@localhost 桌面]# passwd -d zhangsan //将用户密码设置为空
[root@localhost 桌面]# usermod -l san zhangsan //问题解决如下
usermod:用户 zhangsan 目前已登录
userdel:用户 zhangsan 目前已登录
注意加入-r参数仍旧不能删除正在登录的用户。
如果要删除正在登录的用户可以使用-f参数:
# userdel -f abc
churchill:!!:16790:0:99999:7::17166: //99999
[root@localhost 桌面]# chage -M 30 churchill //修改用户密码有效期
churchill:!!:16790:0:30:7::17166: //30
[root@localhost 桌面]# chage -d 0 zhangsan //用户下次登录时强制修改密码
[zkpk@localhost 桌面]$ vim /etc/login.defs //修改有效密码时间
SS_MAX_DAYS 99999 //有效时间
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
更改用户 zhukov 的密码 。
新的 密码:
无效的密码: 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost home]# groupmod -n mmm mmmm //修改组名
[root@localhost 桌面]# group -a zhukov admins
bash: group: command not found
[root@localhost 桌面]# gpasswd -a user1 admins
Adding user zhukov to group admins
uid=4445(zhukov) gid=4446(zhukov) 组=4446(zhukov),4445(admins)
//gpasswd 添加删除组成员
[root@localhost 桌面]# gpasswd -M root,zhangsan,bin admins //定义admins,结果如:dmins:x:4445:root,zhangsan,bin
// su 与 su - 的区别
大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和su -命令最大的本质区别给大家详解一下:
前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su - 以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/uuuu/bin
密码:
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
//root与zkpk的 shell命令不同
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zkpk/bin
visudo 语法错误不让保存
vim /etc/sudoers 语法错误也可以保存
zkpk ALL=/usr/sbin/useradd,/usr/bin/passwd,!/usr/bin/passwd root //不能修改root密码
zkpk ALL=/usr/sbin/useradd,/usr/bin/passwd ?*,!/usr/bin/passwd root //如果不加?*,在zkpk用户下,sudo passwd 会修改root密码
/etc/skel/ //新建用户的主目录的模板
//如果每新建一个用户,其家目录下有README文件 ?
// 在 /etc/skel/ 文件下添加README即可
. .. .bash_logout .bash_profile .bashrc .emacs .gnome2 .mozilla
//.bash_profile 声明变量, 用户登录时,生效
//.bashrc 用户登录时,会自动执行里面的命令,生效
//.bash_logout 当用户注销/退出时,里面命令生效
. .bash_history .bash_profile .emacs .mozilla
.. .bash_logout .bashrc .gnome2
[root@localhost skel]# vim /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
root tty1 2015-12-21 14:00 (:0)
root pts/0 2015-12-21 14:01 (:0.0)
14:26:37 up 27 min, 2 users, load average: 0.28, 0.24, 0.19
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 14:00 26:57 9.99s 9.99s /usr/bin/Xorg :
root pts/0 :0.0 14:01 0.00s 0.08s 0.06s w
root root
访问权限
读取r:
允许查看文件内容、显示目录列表
写入w:
允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
//chmod 修改文件或目录的权限
//chown 修改属主,属组
-rw-r--r--. 2 root root 11 12月 18 16:53 12345
[root@localhost ~]# chown zkpk.admins 12345
-rw-r--r--. 2 zkpk admins 11 12月 18 16:53 12345
//chgrp 只能修改属组
-rw-r--r--. 2 zkpk root 11 12月 18 16:53 12345
//使用附加位权限
SET位权限
主要用途:
为可执行(有 x 权限的)文件设置,权限字符为“s”
他用户执行该文件时,将拥有属主或属组用户的权限
SET位权限类型:
SUID:表示对属主用户增加SET位权限
SGID:表示对属组内的用户增加SET位权限
//SUID
-rwsr-xr-x. 1 root root 32680 1月 29 2010 /usr/bin/passwd
----------. 1 root root 1.4K 12月 21 14:05 /etc/shadow
//添加SUID
-rwxr-xr-x. 2 zkpk root 11 12月 18 16:53 1.txt
[root@localhost ~]# chmod u+s 1.txt //添加SUID
-rwsr-xr-x. 2 zkpk root 11 12月 18 16:53 1.txt
-rwsr-xr-x. 2 zkpk root 11 12月 18 16:53 1.txt
-rwSr-xr-x. 2 zkpk root 11 12月 18 16:53 1.txt
//使用附加位权限
粘滞位权限(Sticky)
主要用途:
为公共目录设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
drwxrwxrwt. 31 root root 4096 12月 21 22:02 /tmp/
drwxrwxrwt. 2 root root 4096 12月 21 17:31 /var/tmp/
//设置SET位、粘滞位权限
使用权限字符
chmod ug±s 可执行文件
chmod o ±t 目录名
使用权限数字:
chmod mmmm 可执行文件
m为4时 对应SUID,2对应 SGID,1对应粘滞位,可叠加
//细部权限规划:ACL的使用
ACL是 Access Control List 的缩写主要目的是在
提供传统的owner,group,others,read,
write,execute权限之外的细部权限设定。
//setfacl
drwxrwx---. 4 root root 4.0K 12月 18 10:56 /test/
-bash: cd: /test/: 权限不够
ls: 无法打开目录/test/: 权限不够
logout
[root@localhost ~]# setfacl -m u:zkpk:7 /test/
drwxrwx---+ 4 root root 4.0K 12月 18 10:56 /test/
//getfacl
getfacl: Removing leading '/' from absolute path names
# file: test/
# owner: root
# group: root
user::rwx
user:zkpk:rwx
group::rwx
mask::rwx
other::---
//移除所有的 ACL 设定参数
getfacl: Removing leading '/' from absolute path names
# file: test/
# owner: root
# group: root
user::rwx
group::rwx
other::---
//设置光盘挂载点
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 20G 5.2G 13G 29% /
tmpfs tmpfs 1000M 264K 1000M 1% /dev/shm
/dev/sda1 ext4 194M 28M 157M 15% /boot
/dev/sr0 iso9660 3.4G 3.4G 0 100% /media/RHEL_6.2 x86_64 Disc 1
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 20G 5.2G 13G 29% /
tmpfs tmpfs 1000M 264K 1000M 1% /dev/shm
/dev/sda1 ext4 194M 28M 157M 15% /boot
[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 20G 5.2G 13G 29% /
tmpfs tmpfs 1000M 264K 1000M 1% /dev/shm
/dev/sda1 ext4 194M 28M 157M 15% /boot
/dev/sr0 iso9660 3.4G 3.4G 0 100% /media
//设置yum仓库
/etc/yum.repos.d
[root@localhost yum.repos.d]#vim localhost.repo
[localhost]
name=localhost
baseurl=file:///media //指定仓库位置, 仓库有两种网络的(ftp://,http://),本地的(file://)
enabled=1 //启用这个源
gpgcheck=0 // 不做校验
~
[root@localhost yum.repos.d]# yum install samba -y //安装samba,-y
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
5 | root <root> | 2015-12-21 17:31 | Erase | 1
4 | root <root> | 2015-12-21 17:27 | Erase | 1
3 | root <root> | 2015-12-21 17:23 | Install | 1
2 | root <root> | 2015-12-21 17:21 | Install | 1
1 | System <unset> | 2015-12-17 23:35 | Install | 1486
history list
[root@localhost yum.repos.d]# yum history undo 3 //将 3 卸载
//关闭防火墙
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
转载自blog.csdn.net/weixin_42325841/article/details/81501431