一、账户和权限
在linux或unix系统中,用户是基于UID数值进行身份判断的,UID要求唯一,
0 代表管理员用户
1--499 代表程序用户,安装软件包时自动创建,不用于系统登录,只管理某个服务。
500-- 代表普通用户,由管理员创建,分配给其他用户登录系统。
在7的系统中,0代表root用户,1-499系统用户,500-999程序用户,1000--才是普通用户
在GUI登录界面,登录只显示普通用户,管理员、程序用户不作显示。
组:基本组、附加组。
组自身无“基本组”和“附加组”区别,当用户添加至组时,可以将该组作为“基本组”或“附加组”。
基本组:用户只能也必须加入一个基本组,唯一性。捆绑用户,创建文件or文件夹时,默认拥有者是自己,拥有组是自己的基本组。基于安全性考虑,建议以人员少的组为基本组。
附加组:用户可以选择性地加入任意附加组。
useradd 创建用户的命令
-u 指定用户的UID数值,默认取最后一个用户+1为UID值,默认为普通用户UID
-g 指定用户的基本组,如果不指定,默认创建一个和用户同名的组为基本组
-G 指定用户的附加组,如果不指定,默认没有附加组
-d 指定用户的宿主目录,如果不指定,默认在/home目录下创建同名文件夹
-s 指定用户的shell
cat /etc/shells 查看当前系统支持的shell
/bin/bash是linux系统中默认使用的shell
/sbin/nologin 非交互式shell,对于系统中大部分程序用户以及远程访问本地服务(不需要本地登录)一般都使用这个shell
-M 不创建用户的宿主目录,和-d不能同时使用
-m 创建用户的宿主目录,默认有该选项(Solaris没有)
-e 指定用户的过期时间,如果不指定,默认永不过期
useradd zhangsan 默认属性创建zhangsan用户
useradd -u 1000 -g bin -G wheel -d /lisi -s /sbin/nologin -e 2018-1-1 lisi 定义了用户的各种属性
id zhangsan 查看确认用户是否存在
/etc/passwd 该文件记录了系统中所有账户的信息,以:为分隔符,记录了账户的七个属性。详见man 5 passwd
/etc/shadow 该文件记录了系统中所有账户的密码信息,以:为分隔符,记录了九段内容,详见man 5 shadow
passwd 命令,可以修改、设置用户密码信息,如果不设置密码,默认不能登录系统。
usermod 修改一个已存在账户的信息,支持useradd中的很多选项
userdel 删除一个已存在账户,建议添加-r选项,同时删除用户的宿主目录&用户邮件文件。
groupadd 创建一个组,-g指定组的GID编号
groupdel 删除一个组,如果有用户以该组为基本组,不允许删除
Linux系统中默认只有root一个管理员,其他用户添加到root组仅能查看root组权限内的文件,没有特殊权限。如果希望创建第二个管理员,可以将用户的UID修改为0,账户登录后系统提示也是root
Linux中的权限管理:
Linux中只有三个权限:r(读)、w(写)、x(执行)
x权限一般只有文件夹具备,无x权限的文件夹在使用cd命令或双击打开时会报错。
文件、文件夹有一个UID和一个GID,可以用ls -l查看。
如果用户UID与文件UID一致,认为用户是文件的拥有者。
ugo权限描述(u-拥有者,g-拥有组,o-其他人)
drwxr-xr--
d: 表示文件or文件夹
rwx: 拥有者的权限
r-x:拥有组的权限
r--:其他人的权限
修改权限测试:
touch test.txt 创建测试文件
chmod 777 test.txt
chmod u+w test.txt
chmod g-x test.txt
chmod o= test.txt
umask 查看当前用户反掩码。当用户创建文件时,默认以最大权限减去umask数值,就是新建文件or文件夹的权限。(文件夹777,文件666)
单独设置某个用户或组的权限可参考setfacl命令
chown 修改拥有者or拥有组
chown 用户名 目标 修改属主
chown :组名 目标 修改属组
chown 用户名:组名 目标 同时修改拥有者和拥有组
chmod和chown都支持-R选项,文件夹中递归,其下所有子目录或文件也会同时被修改
二、软件包安装
rpm 红帽包管理,rpm将编译工作提前完成。
LINUX和UNIX都支持RPM,安装光盘中有绝大多数的RPM包。
使用光驱,确保虚拟机设置中,CD/DVD的已连接是“选中”状态。
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom 挂载光驱到按指定目录
ls /media/cdrom/Packages 该目录是光盘中所有RPM包的所在位置
rpm -q vsftpd 查询vsftpd软件是否已安装
rpm -ivh /media/cdrom/Packages/vsftpd-* 安装软件包
rpm -e vsftpd 卸载软件包
RPM包安装过程中可能会涉及依赖关系,被依赖的软件包需要提前安装。如果依赖关系比较复杂,安装软件会变得非常困难。
yum install gcc-c++ yum命令格式
CentOS系统默认yum可用,会通过互联网连接CentOS官方网站下载软件更新,也可以换其他更新源(服务器不能上网则使用本地源)
本地更新源配置:
mkdir /etc/yum.repos.d/bak 创建一个目录放置以前的更新源
mv /etc/yum.repos.d/Cent* /etc/yum.repos.d/bak 移动以前的更新源文件到备份目录下
自己创建本地更新源配置文件
vim /etc/yum.repos.d/local.repo 位置固定,名称任意,必须以.repo结尾
写入以下内容:
[local] #内容随意,本地记录唯一即可
name=This is my repo #描述信息
baseurl=file:///media/cdrom #定义更新源位置,如光驱
enabled=1 #是否启用该记录
gpgcheck=0 #是否验证签名