linux文件权限学习记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件权限学习记录相关的知识,希望对你有一定的参考价值。
1、Linux的安全性
1.1/etc/passwd文件
存放用户的登录名以及相关信息
#cat /etc/passwd root:x:0:0:root:/root:/bin/bash
root用户账户为系统管理员,UID和GID都为0,1-500为系统用户,501-65535为普通用户使用。
文件包含七个字段:用户名;密码;UID;GID;描述;HOME目录;默认SHELL。字段内容都可以用命令去修改
1.2/etc/shadow文件
存放密码的文件,并提供更多的控制,只有root才能访问/etc/shadow,每一个用户都存在对应的一条记录
#cat /etc/shadow bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7:::
文件包含九个字段:用户名;加密后的密码;自上次修改密码过去的天数;多少天后才能修改密码;多少天后必须修改密码;过期前多少天提醒;密码过期后多少天禁用账户;账户禁用的日期;预留字段
1.3添加新用户
/usr/bin/useradd 添加用户默认值存放在/etc/default/useradd中,-D选项查看默认值
[[email protected] ~]# useradd -D GROUP=100 #GID为100的公共组 HOME=/home #HOME存放于/home/username INACTIVE=-1 #用户密码过期后不会被禁用 EXPIRE= #未设置过期日期 SHELL=/bin/bash #默认SHELL SKEL=/etc/skel #系统将/etc/skel下的文件复制到家目录中,提示符出现bash1.1时就是丢失家目录文件,可以复制过来 CREATE_MAIL_SPOOL=yes #在mail目录下创建一个接收邮件的文件
useradd命令行参数
-c comment | 给新用户添加备注 |
-d home_dir | 指定家目录位置 |
-e expire_date | 用YYYY-MM-DD指定账户过期日期 |
-f inactive_days | 密码过期后多少天禁用账户,0表示立即,1表示禁用这个功能 |
-g group_name | 指定所属组名或GID |
-u uid | 为账户指定唯一UID |
-G group ... | 指定附加组 |
-m | 创建家目录 |
-k | 将/etc/skel/*复制到账户HOME目录,必须与-m一起使用 |
-M | 不创建HOME目录 |
-n | 创建一个与登录名相同的新组 |
-r | 创建一个系统账户 |
-p passwd | 设置默认密码 |
-s shell | 设置默认SHELL |
useradd修改默认值的参数
-b default_home | 修改默认家目录 |
-e expiration_date | 修改默认过期时间 |
-f inactive | 修改默认密码到期到禁用的天数 |
-g group | 修改默认的祖名或GID |
-s shell | 修改默认SHELL |
# useradd -D -s /bin/bash 修改默认SHEL
1.4删除用户
userdel 用户名 只删除/etc/passwd中对应的用户信息
userdel -r 用户名 将家目录和mail目录一起删除。。慎用
1.5修改用户
usermod
修改账户字段,常用-c修改备注,-e修改过期日期,-g修改登陆组,-l修改登录名,-L锁定账户不能修改和删除,-p修改密码,-U解锁
passwd和chpasswd
passwd username
chpasswd 从文件中读取用户密码对,并修改密码
chpasswd < user.txt
chsh 快速修改默认SHELL,shell必须使用全路径
chsh -s /bin/bash test
chfn 修改备注
chfn test
chage 设置用户有效期
-d 上次修改密码到现在的天数
-E 设置密码过期日期
-I 设置密码到期到锁定的天数
-m 修改密码之间最少天数
-W 密码过期前多久提示
2、使用Linux组
2.1/etc/group文件
保存用户组信息
[[email protected] ~]# cat /etc/group root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm
组名:组密码:GID:属于改组的用户列表 五个字段
注意:当用户的/etc/passwd中指定用户组时,那么该用户不会作为改组成员出现在/etc/group中
2.2groupadd 创建新组
2.3修改组
groupmod -g 修改已有组的GID
-n 修改已有组的名字
3、文件权限
[[email protected] ~]# ls -l total 44 -rw-------. 1 root root 1149 Oct 17 23:20 anaconda-ks.cfg -rw-r--r--. 1 root root 25830 Oct 17 23:20 install.log -rw-r--r--. 1 root root 7345 Oct 17 23:18 install.log.syslog
第一个字符为文件类型:- 普通文件;d 目录;l 代表链接;c 字符设备;b 块设备;n 网络设备
后面三组3字符的编码对应属主:属组:其他用户 的读写权限,r代表可读,w可写,x可执行
3.1默认文件权限umask
[[email protected] ~]# umask 0022
umak比较复杂简单介绍,第一位为粘着位,后面为八进制,目录默认权限777,普通文件默认666
777 -022 就是创建目录的默认权限755 创建普通文件的默认权限644
4、改变权限
chmod 权限 file
两种形式:1、数字形式 r->4 w->2 x->1
chmod 777 file
2、字符表示 u 用户 g组 o其他 a上述所有
+添加权限 -删除权限 =设置权限为
chmod a+x file 全面添加执行权限
改变所属关系
chown user:group file
chown user.group file
chown .group file
SUID SGID 需进一步了解
以上是关于linux文件权限学习记录的主要内容,如果未能解决你的问题,请参考以下文章