Linux基础-管理用户和文件权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础-管理用户和文件权限相关的知识,希望对你有一定的参考价值。
(一)用户和组
用户账号:
超级用户:root用户
普通用户:由root用户或其他管理员创建,只在自己宿主目录中有完全权限
程序用户:不允许登录到系统,如:bin、daemon、ftp、mail
组账号:一个用户至少属于一个组,称为该用户的基本组。如果该用户同时属于其他组,这些组被称为附加组
UID、GID:用户标识号、组标识号,在配置文件“/etc/login.defs”中
root用户为0、程序用户1-499、普通用户500-60000
一、用户管理
用户账号文件:
/etc/passwd
保存用户账号信息,任何用户都可以读取,但只有root用户可以更改。每一行包含用:分隔的七个字段
●账号名称:加密密码字符串/占位符X:UID:GID:用户全名:宿主目录:登录Shell信息
[[email protected] ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin ...
●/etc/shadow
保存用户账号的密码信息,只有root用户能读取,但不能更改。每一行包含九个字段,如下:
账号名称:
MD5加密后字符串:为“*”或“!!”表示当前用户不能登陆,若该字段为空,则无需密码即可登录
上次修改密码的时间:从19701-1-1到最近一次修改密码的天数
密码的最短有效天数:默认为0,表示不限制
密码的最长有效天数:默认为99999,表示不限制
提前多少天警告用户口令过期:默认为7
密码过期后多少天内禁用此用户
账号失效时间:指定天数,默认为空,表示永久使用
保留字段
[[email protected] ~]# cat /etc/shadow root:$6$l959kDSV5iIlNPck$eP4JiHqk.MWFg1wc4Rl5HjPKu8Cye/7Ygk4oPzEKlZ9inrk3my.Gw7Klfyy44F20exPUf4.TeLSOgTfDOlV7c0:17247:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7::: adm:*:15980:0:99999:7::: ...
管理命令:
1.useradd 添加用户
-u 指定UID
-d 指定宿主目录位置
-e 指定账户失效时间
-g 指定用户的基本组名(GID)
-G 指定用户的附加组名(GID)
-M 不建立使用者目录
●-s 指定登录的Shell
创建用户bby,将登录Shell指定为/sbin/nologin
[[email protected]~]#useradd -s /sbin/nologin bby
2.passwd 设置密码
-d 清空指定用户密码
-l 锁定账户
-S 查看账号状态
-u 解锁账户
root用户可以对指定账户的密码进行管理,普通用户只能修改自己的密码
[r[email protected] ~]# passwd bby 更改用户 bby 的密码 。 新的 密码: 无效的密码: 过于简单化/系统化 无效的密码: 过于简单 重新输入新的 密码:
[[email protected] ~]# passwd -l bby 锁定用户 bby 的密码 。 passwd: 操作成功 [[email protected] ~]# passwd -S bby
3.usermod 修改账号属性
与useradd命令选项相对应
-l 更改登录名称
-L 锁定用户账户
-U 解锁账户
4.userdel 删除账号
-r 删除宿主目录
5.初始配置文件来自于/etc/skel/
“.bash_logout”每次退出登陆时执行
“.bash_profile”每次登录时执行
“.bashrc”每次加载/bin/bash程序时执行
二、组管理
组账号文件
id命令可以查看当前用户所对应的基本组、附加组信息
/etc/group
组名称:管理员加密密码/占位符X:GID:账号列表
[[email protected] ~]# cat /etc/group root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm
/etc/gshadow
组名称:管理员加密密码:管理员账号:账号列表
[[email protected] ~]# cat /etc/gshadow root::: bin:::bin,daemon daemon:::bin,daemon sys:::bin,adm
查看root组内成员
[[email protected]~]#grep "^root" /etc/group
管理命令
1.groupadd 添加组账号
2.gpasswd 添加删除组成员
-a 把bby加入到root组中
[[email protected] ~]# gpasswd -a bby root Adding user bby to group root [[email protected] ~]# grep "^root" /etc/group
-d 把bby从root组中删除
[[email protected]~]#gpasswd -d bby root
-M 同时添加多个用户
3.groupdel 删除组账号
[[email protected]~]#groupdel bby
三、用户和组账号查询
1.groups+用户名 查询某个用户账户所属的组
2.finger 查询用户账号的详细信息
-l 多行显示,可以是未登录用户
3.users、w、who 查询当前登录到主机的用户信息
与单独执行的finger命令类似
users 只列出用户名
w 列出用户名、终端、执行的命令
who 写出用户名、终端、登陆时间、来源地点
(二)文件权限和归属
权限:读取、写入、可执行
归属:属主、属组
查看文件/目录的权限和归属
[[email protected] ~]# ls -ld /etc/passwd -rw-r--r--. 1 root root 1371 3月 23 01:37 /etc/passwd
第一个字符:文件类型,- 普通文件、d 目录、b 块设备文件、c 字符设备文件、l 链接文件
第2-4个字符:属主用户访问权限
第5-7个字符:属组内用户的访问权限
第8-10个字符:其他用户的访问权限
r、w、x 分别表示可读、可写、可执行
[[email protected] root]$ ls -l /etc/shadow ----------. 1 root root 921 3月 25 02:56 /etc/shadow [[email protected] root]$ cat /etc/shadow cat: /etc/shadow: 权限不够
2.设置权限 chmod -R 递归设置子目录
字符形式:rwx
数字形式:r、w、x分别表示为4、2、1
chmod [ugoa] [+-=] [rwx] 文件/目录
chmod nnn 文件/目录
u:代表文件属主
g:代表文件属组内的用户
o:代表其他用户
a:代表所有用户(ugo总和)
+-=:增加、减少、设置相应权限
去除mymkdir文件的x权限
[[email protected] ~]# ls -l mymkdir -rwxr-xr-x. 1 root root 49384 3月 25 03:37 mymkdir [[email protected] ~]# chmod ugo-x mymkdir [[email protected] ~]# ls -l mymkdir -rw-r--r--. 1 root root 49384 3月 25 03:37 mymkdir
为属主用户添加执行权限,去除其他用户的读取权限
[[email protected] ~]# chmod u+x,o-r mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-----. 1 root root 49384 3月 25 03:37 mymkdir
重新设置mymkdir的权限
[[email protected] ~]# chmod 755 mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-xr-x. 1 root root 49384 3月 25 03:37 mymkdir
3.设置归属
chown:设置属主和属组 -R 递归设置子目录
chown [属主] 文件/目录
chown [:属组] 文件/目录
chown [属主:属组] 文件/目录 同时设置属主和属组
[[email protected] ~]# chown bby mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-xr-x. 1 bby root 49384 3月 25 03:37 mymkdir [[email protected] ~]# chown :wheel mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-xr-x. 1 bby wheel 49384 3月 25 03:37 mymkdir [[email protected] ~]# chown root:daemon mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-xr-x. 1 root daemon 49384 3月 25 03:37 mymkdir
chgrp:设置属组
chgrp [属组] 文件/目录
4.附加权限
SET位权限:设置可执行程序或脚本文件,SUID给属主用户增加SET位权限,SGID给属组用户增加SET位权限
chmod u+/-s,g+/-s 设置SET权限后,文件属性对应位置的x将变成s
SUID、SGID对应八进制数字4、2 ,如“4755”“2755”“6755”
[[email protected] ~]# chmod g+s mymkdir [[email protected] ~]# ls -l mymkdir -rwxr-sr-x. 1 root daemon 49384 3月 25 03:37 mymkdir
粘滞位权限:目录设置了粘滞位权限后,即使用户对目录有写入权限,也不能删除目录中其他用户的数据,比如“/tmp”目录,存放临时数据
设置粘滞位权限后,文件属性对应位置的x将变成t
[[email protected] ~]# ls -ld /var/tmp/ drwxrwxrwt. 2 root root 4096 3月 24 20:04 /var/tmp/
chmod +t/-t 数字形式为1、0 实现添加移除
[[email protected] ~]# chmod 1777 /opt [[email protected] ~]# ls -ld /opt/ drwxrwxrwt. 3 root root 4096 3月 22 20:29 /opt/
以上是关于Linux基础-管理用户和文件权限的主要内容,如果未能解决你的问题,请参考以下文章