linux学习系列三
1. 账户与账户安全
账户和组是操作系统的基本概念,linux的组有基本组和附加组之分,一个用户只可以加入到一个基本组中国,但是可以加入到多个附加组中.创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中.
1.1 创建账户和组
1. useraddm
-c 设置账户描述信息,一般为账户全称
-d 设置账户家目录,默认为/home/用户名
-e 设置账户的失效日期,格式为 YYYY-MM-DD
-g 设置账户的基本组
-G 设置账户的附加组,多个附加组中间用逗号隔开
-M 不创建账户家目录,一般与-s组合使用
-s 设置账户的登录shell,默认为bash
-u 指定账户uuid
useradd test 创建test用户
useradd -c test -d /home/myTest -e 2017-11-11 -g root -G test,hello
创建系统名称为myTest,全名为test,家目录为/home/myTest,失效日期为20171111,账户基本组为test,附加组为test,hello
2. groupadd
-g 设置组id
groupadd tom 增加tom族
groupadd -g 1000 tom 创建tom组并设置id为1000
3. id
id root 显示root账户及相关组信息
1.2 修改账户及组
1. passwd
passwd #为当前用户设置新密码
echo "test" |passwd --stdin tom #设置tom账户的用户密码为test
passwd -l tom #锁定tom账户
passwd -u tom #解锁账户tom
passwd -d tom #清空账户tom的密码
2. usermod
usermod -d /home/tomcat tom #修改tom的家目录,修改的目录必须存在
usermod -e 2013-10-01 tom #修改失效日期
usermod -g mail tom #修改tom的基本组为mail
usermod -s /bin/bash tom #修改tom的登录shell为bash
usermod -u 1001 tom #修改tom的uid为1001
1.3 删除账户及组
1. userdel
userdel tom #删除账户tom,但不删除该账户下的文件
userdel -r tom #删除账户tom,并删除相应的家目录
2. groupdel
groupdel jerry #删除组jerry
1.4 账户与组文件分析
1. 账户信息文件被保存在etc/passwd中
2. 账户密码信息文件被放在etc/shadow
3. 组账户信息放在/etc/group中
4. 组账户密码放在/etc/gshadow中
gpasswd admin #设置组账户密码
gpasswd A mail admin #将mail账户设置为组admin的管理员
1.5 文件及目录权限
linux权限分为读,写,执行三种权限控制 rwx
使用ls -l可以查看文件夹和文件的详细权限信息
1. chmod
chmod u=rwx,g=rwx,o=rwx hello.txt #修改hello.txt的用户,组,其他的权限位rwx
chmod g -x,o +wx hello.txt #增加hello.txt组x权限,其他wx权限
chmod 700 hello.txt #rwx分别对应421 7表示为rwx权限,0表示权限
2. chown
chown user:mail hello.txt #修改hello.txt的组为mail,用户为user
chown :root hello.txt #修改文件所属组为root
chown root hello.txt #修改文件所属用户为root
1.6 ACL访问控制权限
系统的基本权限是针对文档所有者,所属组或其他账户进行控制,无法针对某个单独的账户进行控制,就有了ACl访问控制列表
1. getfacl #查看文档的acl权限
2. setfacl #设置访问控制列表