您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > linux账户管理与操作权限
Reviewer:NingKangSpeaker:AnRanARGuoLinux权限(用户)管理与环境变量内容概要用户和用户组管理文件权限控制和设置sudo详解环境变量详解用户和用户组管理Linux系统是一个多用户的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:–1.用户账号的添加、删除与修改。–2.用户口令的管理。–3.用户组的管理。用户和用户组管理用户和用户组的概念用户和用户组管理账户管理配置文件族用户的添加和删除组的添加和删除设置操作权限用户和用户组管理账户管理配置文件族用户信息文件(口令文件):/etc/passwd用户密码文件(影子文件):/etc/shadow用户组文件:/etc/group用户组密码文件:/etc/gshadow登陆信息文件:/etc/motd用户和用户组管理cat/etc/passwd用户和用户组管理/etc/passwd用户和用户组管理cat/etc/shadow用户和用户组管理/etc/shadow用户和用户组管理Linux用户分类超级用户(root,UID,0)普通用户(UID,500~65535)伪用户(UID,1~499)用户和用户组管理伪用户伪用户与系统应用和程序服务有关。–例如bin,daemon,shutdown,halt等,与Linux系统应用有关。–例如apache,ftp,mysql及sshd等,与Linux程序服务有关。用户和用户组管理每个用户至少属于一个用户组每个用户可以属于多个用户组同一用户组的用户拥有该组的权限用户和用户组管理添加用户命令---useradduseradd(–option)username–u:uid–g:group–d:dir(用户目录)–s:shell–c:附加信息–e:登录失效时间–M:不建立用户目录passwdusername用户和用户组管理usermod命令用来修改使用者账号,具体的修改信息和useradd命令所添加的信息一致,这里不再一一列出。usermod命令的格式如下:usermodoptionusername用户和用户组管理userdel命令用来删除系统中的用户信息。userdel命令的格式如下:userdeloptionusername–-r删除用户的同时,也一并把其家目录和文件一同删除用户和用户组管理groupadd命令可以以指定名称来建立新的用户组。groupadd命令的格式如下:groupaddoptiongroupname–-ggid除非使用-o参数不然该值必须是唯一,不可相同。数值不可为负。–-o允许设置相同组id的群组–-r建立系统组用户和用户组管理groupmod命令用来修改用户组信息。groupmod命令的格式如下:groupmodoptiongroupname–-ggid指定id–-o允许设置相同组id的群组–-ngroup_name修改用户组名为group_name用户和用户组管理groupdel命令比较简单,用来删除系统中存在的用户组。使用该命令时必须确认待删除的用户组存在。groupdel命令的格式如下:groupdelgroupname–groupdelgroup在用户组间切换groups[username]查看当前用户属于哪些组newgrp[group]切换到某组运行(必须已属此组)组的管理设置群组密码gpasswd[option][user][group]–-a:将用户添加入group组–-d:将用户从group中删除–-r:取消群组密码sudo详解sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性.sudo执行命令的流程:是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权.sudo详解sudo:用户切换命令sudoers:sudo的配置文件,默认是在/etc/sudoersvisudo:编辑sudoers文件的专用编辑工具/var/run/sodusudo详解visudo(切换到root用户下进行编辑)sudo详解别名规则(定义别名主要是为了更方便的授权引用别名)Alias_TypeNAME=item1,item2,...或Alias_TypeNAME=item1,item2,item3:NAME=item4,item5别名类型(Alias_Type):别名类型包括如下四种Host_Alias定义主机别名;User_Alias用户别名,别名成员可以是用户,用户组(前面要加%号)Runas_Alias用来定义runas别名,这个别名指定的是“目的用户”,即sudo允许切换至的用户;Cmnd_Alias定义命令别名;sudo详解授权规则授权用户主机=命令动作sudo详解beinanALL=/bin/chown,/bin/chmod如果我们在/etc/sudoers中添加这一行,表示beinan可以在任何可能出现的主机名的系统中,可以切换到root用户下执/bin/chown和/bin/chmod命令,通过sudo-l来查看beinan在这台主机上允许和禁止运行的命令;当我们为用户定义可以运行的命令时,必须使用完整的命令路径sudo详解beinanALL=(root)/bin/chown,/bin/chmod如果我们把第一个实例中的那行去掉,换成这行;表示的是beinan可以在任何可能出现的主机名的主机中,可以切换到root下执行/bin/chown,可以切换到任何用户招执行/bin/chmod命令,通过sudo-l来查看beinan在这台主机上允许和禁止运行的命令;sudo详解beinanALL=(root)NOPASSWD:/bin/chown,/bin/chmod如果换成这个例子呢?表示的是beinan可以在任何可能出现的主机名的主机中,可以切换到root下执行/bin/chown,不需要输入beinan用户的密码;并且可以切换到任何用户下执行/bin/chmod命令,但执行chmod时需要beinan输入自己的密码;通过sudo-l来查看beinan在这台主机上允许和禁止运行的命令;文件权限控制和设置查看文件权限ls–ltr文件的各项属性[root@pcroot]#ls-linstall.log-rw-r--r--1rootroot26195Dec1710:42install.log权限引用计数所有者所属组大小创建时间文件类型文件权限控制和设置文件权限(-rw--r--r--)权限项文件类型读写执行读写执行读写执行字符表示-普通文件d目录文件b块设备文件例如磁盘c表示字符设备文件(r)(w)(x)(r)(w)(x)(r)(w)(x)数字表示421421421权限分配文件所有者u文件所属组用户g其他用户o文件权限控制和设置三种基本的访问权限对文件的含义r可以读取文件的内容w可以新增、修改文件内容x可以执行该文件三种基本的访问权限对目录的含义r可以列出目录中的文件、浏览目录内容w可以在该目录中创建、删除、移动文件x可以使用cd命令进入该目录文件权限控制和设置修改权限命令chgrp,改变用户组,也就是changegroup但是需要被改变的组名必须在/etc/group中存在chown,改变文件的所有者,changeowner,被改变的用户需要存在中/etc/passwd中存在chmod,改变文件的权限文件权限控制和设置chmod改变文件权限数字类型改变文件权限数字表示法—更简洁的方法chmodn1n2n3filename参数说明:1.r对应数值4,w对应数值2,x对应数值12.rwx合起来就是4+2+1=7,即上边表示为n13.rwxrwxrwx表权限全开放的文件,数值777文件权限控制和设置chmod改变文件权限符号类型改变文件权限属组权限=让属主权限g=u减去所有用户执行权限a-x加属主/组的读/写权限,加其他用户读权限ug=rw,o=r为属主添加写入权限u+w含义规则环境变量的详解Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每个用户。该文件一般是调/etc/bash.bashrc文件。/etc/bash.bashrc:系统级的bashrc文件。(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。环境变量的详解2.用户级(这些文件处于家目录下):(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方(2)~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。环境变量的详解环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。shell中执行的用户进程均称为子进程。环境变量可用于所有子进程,这包括编辑器、脚本和应用。环境变量可以在命令行中设置,但用户注销时这些值将丢失,因此最好在.profile文件中定义。系统管理员可能在/etc/profile文件中已经设置了一些环境变量。将之放入profile文件,意味着每次登录时这些值都将被初始化。传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用export命令导出。环境变量的详解可以用set或env查询当前的环境变量环境变量的详解常见的预定义环境变量:HOME:当前用户的主目录PATH:当前用户的可执行文件搜索路径LANG:程序应该使用的默认语言PS1:行提示符注意,我们系统中环境变量是很多的,但是我们需要注意的只要这几个,LINUX下面的变量名字基本都是大写字母哈.环境变量的详解可以利用echo$变量名字查看环境变量环境变量的详解1设置环境变量VARIABLE-NAME=value;exportVARIABLE-NAME在两个命令之间是一个分号,也可以这样写:VARIABLE-NAME=valueexportVARIABLE-NAME2显示环境变量显示环境变量与显示本地变量一样,用echo命令即可。使用env命令可以查看所有的环境变量。3清除环境变量使用unset命令清除环境变量unsetVARIABLE-NAME环境变量的详解1.修改/etc/profile文件–如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。–(1)用文本编辑器打开/etc/profile–(2)在profile文件末尾加入:JAVA_HOME=/usr/share
本文标题:linux账户管理与操作权限
链接地址:https://www.777doc.com/doc-3969043 .html