草庐IT

账号和权限管理7

feizirui 2023-03-28 原文

一、用户账号和组账号概述

1.1用户账号类型

3A:认证,授权,审计

UID范围:

  • 超级用户:0
  • 程序用户:1-999(centos7);1-499(centos6)
  • 普通用户:1000-60000(centos7);500+(centos6)

1.2组账号

  • 基本组:用户组中第一个组称为基本组,有且只有一个
  • 附加组:用户组中除了第一个组外其他组位附加组,可有可无,可以有多个

1.3ID

  • UID(用户标识号):linux操作系统中的每个用户账号都有一个数字形式的身份标记(1-999给系统用;1000开始给人用)
  • GID(组标识号):与UID类似,每个组账号也有一个数字形式的身份标记(1-499给程序组账号用;500-60000给普通用户用)

1.4用户账号管理

1 /etc/passwd    ####存放保存用户名称、宿主目录、登录 Shell 等基本信息

1 /etc/shadow    ####存放保存密码

 

添加用户:基本格式如下

1 useradd 【选项】 用户名

 为用户设置密码:基本格式如下

1 passwd 【选项】 用户名
2 -d:清空指定用户的密码,仅使用用户名即可登录系统
3 -l:锁定用户账户
4 -S:查看用户账户的状态(是否被锁定)
5 -u:解锁用户账户

修改用户账号属性:基本格式如下

 1 usermod 【选项】 用户名
 2 -l:更改用户账号的登录名称(Login Name)
 3 -L:锁定用户账户
 4 -u:修改用户的UID号
 5 -U:解锁锁用户账户
 6 -d:修改用户的宿主目录位置
 7 -e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
 8 -g:修改用户的基本组名(或使用 GID 号)
 9 -G:修改用户的附加组名(或使用 GID 号)
10 -s:指定用户的登录Shell

删除用户:基本格式如下

1 userdel 【选项】 用户
2 -r:将宿主目录一起删除

  • ~/ .bash_profile:用户宿主目录下的初始配置文件只对当前用户有效
  • ~/.bashrc:此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件
  • ~/.bash_logout:此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)
  • /etc/bashrc:此文件中的命令将在该用户每次退出时bash shell时使用

1.5组管理

/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息基本不使用

添加组:基本格式如下

1 groupadd 【-g GID】 组账号名 

组内管理:基本格式如下

1 gpasswd:添加、设置、删除组成员
2 -a:向组内添加一个用户
3 -d:从组内删除一个用户成员
4 -M:定义组成员列表,以逗号分隔

 删除组账号:基本格式如下

1 groupdel 组账号名

finger:查询用户帐号的详细信息

w:查询已登录到主机的用户信息

who:只能显示当前登陆的用户信息

users:只能显示当前登录用户名

二、文件/目录的权限和归属

2.1概念

(1)访问人群分为了三类
1. 所属主(u)
2. 所属组(g)
3. 其他人(o)

(2)权限分为三种
1. 读(r,4)
2. 写(w,2)
3. 执行(x,1,程序脚本)

2.2chmod修改权限

1 chmod 数字 文件名        ####数字法

2.3chown修改所属的组

1 chown 用户:组名 文件名
-R表示递归修改

2.4umask

umask 的值可以用来保留在创建文件权限
实现方式:

  • 新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
  • 新建目录的默认权限: 777-umask
  • 非特权用户umask默认是 002
  • root的umask 默认是 022

三、特殊权限

3.1suid

作用:给一个用户继承二进制程序所有者拥有的权限
suid权限位:位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景
chmod u+s file
chmod 4755 file     ####suid数字法表示为4
注: suid只适合作用在二进制程序上

3.2sgid

作用1:给一个用户继承二进制程序所有组拥有的权限
作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组
sgid权限位:位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景
chmod g+s file
chmod 2755 file     ####sgid数字法表示为2

3 sticky

作用:作用于目录上,此目录的文件只能被所有者删除
sticky权限位:位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景
给dir目录添加sticky权限
chmod o+t dir
chmod 1777 dir     ####sticky数字法表示为1

 

有关账号和权限管理7的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  3. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  4. ruby - rbenv 安装权限被拒绝 - 2

    大家好,我正在尝试设置一个开发环境,并且我一直在关注以下教程:Linktotutorial我做得不是很好,除了最基本的版本控制内容外,我对终端命令没有任何实际经验。我点击了第一个链接并尝试运行source~/.bash_profile我得到了错误;mkdir:/usr/local/rbenv/shims:权限被拒绝mkdir:/usr/local/rbenv/versions:权限被拒绝现在每次我加载终端时都会出现错误。bash_profile的内容;exportPATH=/usr/local/rbenv/bin:$PATHexportRBENV_ROOT=/usr/local/rbe

  5. ruby - (Ruby || Python) 窗口管理器 - 2

    我想用这两种语言中的任何一种(最好是ruby​​)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生

  6. ruby-on-rails - 事件管理员和自定义方法 - 2

    这是我在ActiveAdmin中的自定义页面ActiveAdmin.register_page"Settings"doaction_itemdolink_to('Importprojects','settings/importprojects')endcontentdopara"Text"endcontrollerdodefimportprojectssystem"rakedataspider:import_projects_ninja"para"OK"endendend我想做的是,当我单击“导入项目”按钮时,我想在Controller中执行rake任务。但是我无法访问该方法。可能是什

  7. ruby-on-rails - (Ruby,Rails) 基于角色的身份验证和用户管理...? - 2

    我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源

  8. ruby-on-rails - 为什么用户必须输入 7 位数的 Twitter PIN 才能授予我的应用程序访问权限? - 2

    我正在为我的用户实现一些ruby​​onrails代码推特内容。我正在创建正确的oauth链接...类似http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv但在我的测试帐户授予对twitter的访问权限后,它会弹出一个页面,上面写着“您已成功授予对.我不知道用户应该在哪里输入此PIN以及他们为什么必须这样做。我认为这不是必要的步骤。Twitter应该将用户重定向到我在应用程序设置中提供的回调URL。有谁知道为什么会这样?更新我找到了thisarticle声明我需

  9. ruby - rbenv:权限被拒绝 - 2

    我正在关注Ryan的RailsCast第339集。我已经安装了rbenv并且可以运行ruby-v。我退出了我的session,当我试图返回时(通过root的sudeployer,我得到了这个错误/home/deployer/.rbenv/bin/rbenv:line20:cd:/root:Permissiondenied这是rbenv文件:#!/usr/bin/envbashset-e[-n"$RBENV_DEBUG"]&&set-xresolve_link(){$(type-pgreadlinkreadlink|head-1)"$1"}abs_dirname(){localcwd="

  10. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

随机推荐