--只有root用户才可以建立一个新用户,以下的命令将新建一个登陆名user1的用户linux
useradd user1
--这个用户还不可以登陆,由于还没给它设置初始密码,在默认状况下,将会在/home目录下新建一个与用户名相同的用户主目录。
--新增一个用户的同时会建立一个新组,这个组与该用户同名,而这个用户就是该组的成员shell
--若是你想让新的用户归属于一个已经存在的组,则可使用以下命令:数据库
useradd -g usergroup1 user1
--而若是想让其再属于一个组usergroup2,那么使用:vim
useradd -G usergroup2 user1
--passwd命令为其设置一个初始密码。安全
--删除一个用户bash
userdel -r 用户名
--增长一个组网络
groupadd <组名>
--删除一个组less
groupdel <组名>
--查看当前文件夹的组 用户ssh
ll | grep ftp
查看当前登陆用户名ide
whoami
查看当前登陆用户的组内成员
groups
查看gliethttp用户所在的组,以及组内成员
groups gliethttp
/etc/group文件包含全部组
/etc/shadow和/etc/passwd系统存在的全部用户名
一、/etc/group 解说;
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,而且能显示出用户是归属哪一个用户组或哪几个用户组,由于一个用户能够归属一个或多个不一样的用户组;同一用 户组的用户之间具备类似的特征。好比咱们把某一用户加入到root用户组,那么这个用户就能够浏览root用户家目录的文件,若是root用户把某个文件 的读写执行权限开放,root用户组的全部用户均可以修改此文件,若是是可执行的文件(好比脚本),root用户组的用户也是能够执行的;
用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为彻底私有;另外root用户组通常不要轻易把普通用户加入进去,
二、/etc/group 内容具体分析
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每一个用户组一条记录;格式以下:
group_name:passwd:GID:user_list
在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每一个用户之间用,号分割;本字段能够为空;若是字段为空表示用户组为GID的用户名;
3, 与用户(user)相关的配置文件;
/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;
4.与用户组(group)相关的配置文件;
/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;
5,管理用户(user)的工具或命令;
useradd 注:添加用户 adduser 注:添加用户 passwd 注:为用户设置密码 usermod 注:修改用户命令,能够经过usermod 来修改登陆名、用户的家目录等等; pwcov 注:同步用户从/etc/passwd 到/etc/shadow pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整; pwunconv 注:是pwcov 的立逆向操做,是从/etc/shadow和 /etc/passwd 建立/etc/passwd ,而后会删除 /etc/shadow 文件; finger 注:查看用户信息工具 id 注:查看用户的UID、GID及所归属的用户组 chfn 注:更改用户信息工具 su 注:用户切换工具 sudo 注:sudo 是经过另外一个用户来执行命令(execute a command as another user),su 是用来切换用户,而后经过切换到的用户来完成相应的任务, 但sudo 能后面直接执行命令,好比sudo 不须要root 密码就能够执行root 赋与的执行只有root才能执行相应的命令;但得经过visudo 来编辑/etc/sudoers来实现; visudo 注:visodo 是编辑 /etc/sudoers 的命令;也能够不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是同样的; sudoedit 注:和sudo 功能差很少;
6,管理用户组(group)的工具或命令;
groupadd 注:添加用户组; groupdel 注:删除用户组; groupmod 注:修改用户组信息 groups 注:显示用户所属的用户组 grpck grpconv 注:经过/etc/group和/etc/gshadow 的文件内容来同步或建立/etc/gshadow ,若是/etc/gshadow 不存在则建立; grpunconv 注:经过/etc/group 和/etc/gshadow 文件内容来同步或建立/etc/group ,而后删除gshadow文件;
7, /etc/login.defs 配置文件;
文件是当建立用户时的一些规划,好比建立用户时,是否须要家目录,UID和GID的范围;用户的期限等等,这个文件是能够经过root来定义的;
好比Fedora 的 /etc/logins.defs 文件内容;
1 # 2 # Please note that the parameters in this configuration file control the 3 # behavior of the tools from the shadow-utils component. None of these 4 # tools uses the PAM mechanism, and the utilities that use PAM (such as the 5 # passwd command) should therefore be configured elsewhere. Refer to 6 # /etc/pam.d/system-auth for more information. 7 # 8 9 # *REQUIRED* 10 # Directory where mailboxes reside, _or_ name of file, relative to the 11 # home directory. If you _do_ define both, MAIL_DIR takes precedence. 12 # QMAIL_DIR is for Qmail 13 # 14 #QMAIL_DIR Maildir 15 MAIL_DIR /var/spool/mail #注:建立用户时,要在目录/var/spool/mail中建立一个用户mail文件; 16 #MAIL_FILE .mail 17 18 # Password aging controls: 19 # 20 # PASS_MAX_DAYS Maximum number of days a password may be used. 21 # PASS_MIN_DAYS Minimum number of days allowed between password changes. 22 # PASS_MIN_LEN Minimum acceptable password length. 23 # PASS_WARN_AGE Number of days warning given before a password expires. 24 # 25 PASS_MAX_DAYS 99999 #注:用户的密码不过时最多的天数; 26 PASS_MIN_DAYS 0 #注:密码修改之间最小的天数; 27 PASS_MIN_LEN 5 #注:密码最小长度; 28 PASS_WARN_AGE 7 29 30 # 31 # Min/max values for automatic uid selection in useradd 32 # 33 UID_MIN 1000 #注:最小UID为500 ,也就是说添加用户时,UID 是从500开始的; 34 UID_MAX 60000 #注:最大UID为60000; 35 # System accounts 36 SYS_UID_MIN 201 37 SYS_UID_MAX 999 38 39 # 40 # Min/max values for automatic gid selection in groupadd 41 # 42 GID_MIN 1000 #注:GID 是从500开始; 43 GID_MAX 60000 # 44 # System accounts 45 SYS_GID_MIN 201 46 SYS_GID_MAX 999 47 48 # 49 # If defined, this command is run when removing a user. 50 # It should remove any at/cron/print jobs etc. owned by 51 # the user to be removed (passed as the first argument). 52 # 53 #USERDEL_CMD /usr/sbin/userdel_local 54 55 # 56 # If useradd should create home directories for users by default 57 # On RH systems, we do. This option is overridden with the -m flag on 58 # useradd command line. 59 # 60 CREATE_HOME yes #注:是否创用户家目录,要求建立; 61 62 # The permission mask is initialized to this value. If not specified, 63 # the permission mask will be initialized to 022. 64 UMASK 077 65 66 # This enables userdel to remove user groups if no members exist. 67 # 68 USERGROUPS_ENAB yes 69 70 # Use SHA512 to encrypt password. 71 ENCRYPT_METHOD SHA512
八、/etc/default/useradd 文件;
经过useradd 添加用户时的规则文件;
# useradd defaults file
GROUP=100
HOME=/home 注:把用户的家目录建在/home中;
INACTIVE=-1 注:是否启用账号过时停权,-1表示不启用;
EXPIRE= 注:账号终止日期,不设置表示不启用;
SHELL=/bin/bash 注:所用SHELL的类型;
SKEL=/etc/skel 注: 默认添加用户的目录默认文件存放位置;也就是说,当咱们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
1 后记: 2 关于用户(user)和用户组(group)管理内容大约就是这么多;只要把上面所说的内容了解和掌握,用户(user)和用户组(group)管理就差很少了;因为用户(user)和用户组(group)是和文件及目录权限联系在一块儿的,因此文件及目录权限的操做也会独立成文来给你们介绍; 3 4 本文只是让新手弟兄明白用户(user)和用户组(group)一些原理,因此我在写此文的时候,大可能是解说内容,个人意思是经过解说和索引一些命令,让新手弟兄明白一点理论是比较重要的,技术操做无非是命令的用法; 5 linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。 6 /etc/passwd文件格式: 7 用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell 8 其中UID为0则是用户root,1~499为系统用户,500以上为普通用户 9 /etc/shadow保存用户密码信息,包括加密后的密码,密码过时时间,密码过时提示天数等。 10 用户组信息保存在/etc/group文件中. 11 格式以下: 12 用户组名:组密码:GID:组内账号(多个账号用逗号分隔) 13 用户登陆后,/etc/passwd文件里的GID为用户的初始用户组。 14 用户的初始用户组这一事实不会再/etc/group中体现。 15 新建用户命令: 16 [root@local opt]#useradd 用户名 -g 初始用户组 -G 其余用户组(修改/etc/group) -c 用户说明 -u 指定UID 17 建完用户须要为用户设置密码: 18 [root@local opt]#passwd 用户名 19 用户要修改本身密码命令: 20 [root@local opt]#passwd 21 修改用户信息命令: 22 [root@local opt]#usermod 参数 用户名 23 参数: 24 -c 说明 25 -g 组名 初始用户组 26 -e 过时日期 格式:YYYY-MM-DD 27 -G 组名 其余用户组 28 -l 修改用户名 29 -L 锁定帐号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!)) 30 -U 解锁 31 删除用户命令: 32 [root@local opt]#userdel [-r] 用户名 33 其中,参数-r为删除用户的home目录。 34 其实,可能在系统其余地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件: 35 [root@local opt]#find / -user 用户名 36 而后删除,再运行userdel删除用户。 37 38 查看可用shell命令: 39 [root@local opt]#chsh -l 40 修改本身的shell命令: 41 [root@local opt]#chsh -s 42 43 查看本身或某人UID/GID信息: 44 [root@local opt]#id [用户名] 45 返回信息中groups为有效用户组 46 47 新增用户组命令: 48 [root@local opt]#groupadd 用户组名 49 50 修改用户组名命令: 51 [root@local opt]#groupmod -n 名称 52 53 删除用户组命令: 54 [root@local opt]#groupdel 用户组名 55 56 设置用户组密码命令: 57 [root@local opt]#gpasswd 用户组名 58 59 若是gpasswd加上参数则有其余功能 60 61 设置用户组管理员命令: 62 [root@local opt]#gpasswd -A 用户名 用户组名 63 64 添加某账号到组命令: 65 [root@local opt]#gpasswd -M 用户名 用户组名 66 67 从组中删除某账号命令: 68 [root@local opt]#gpasswd -d 用户名 用户组名 69 70 passwd相关参数操做: 71 -l 锁用户 72 -u 解锁用户 73 -n 天数 密码不可改天数 74 -x 天数 密码过时天数 75 -w 天数 警告天数 76 77 文件权限知识 78 79 先看个实例: 80 [root@local opt]#ls -al 81 ls -al 命令是列出目录的全部文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.' 82 -rw-r--r-- 1 root root 81 08-02 14:54 gtkrc-1.2-gnome2 83 -rw------- 1 root root 189 08-02 14:54 ICEauthority 84 -rw------- 1 root root 35 08-05 10:02 .lesshst 85 drwx------ 3 root root 4096 08-02 14:54 .metacity 86 drwxr-xr-x 3 root root 4096 08-02 14:54 nautilus 87 88 列表的列定义以下: 89 [权限属性信息] [链接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名] 90 91 权限属性列表为10个字符: 92 第一个字符表示文件类型,d为目录 -为普通文件 l为链接 b为可存储的接口设备 c为键盘鼠标等输入设备 93 2、3、4个字符表示全部者权限,5、6、7个字符表示全部者同组用户权限,8、9、10为其余用户权限 94 第二个字符表示全部者读权限,若是有权限则为r,没有权限则为- 95 第三个字符表示全部者写权限,若是有权限则为w,没有权限则为- 96 第四个字符表示全部者执行权限,若是有权限则为x,没有权限则为- 97 第五个字符表示全部者同组用户读权限,若是有权限则为r,没有权限则为- 98 第六个字符表示全部者同组用户写权限,若是有权限则为w,没有权限则为- 99 第七个字符表示全部者同组用户执行权限,若是有权限则为x,没有权限则为- 100 第八个字符表示其余非同组读权限,若是有权限则为r,没有权限则为- 101 第九个字符表示其余非同组写权限,若是有权限则为w,没有权限则为- 102 第十个字符表示其余非同组执行权限,若是有权限则为x,没有权限则为- 103 104 修改文件所属组命令: 105 [root@local opt]#chgrp [-R] 组名 文件名 106 其中-R为递归设置 107 108 修改文件的全部者和组命令: 109 [root@local opt]#chown [-R] 用户[:用户组] 文件名 110 111 修改文件访问权限命令: 112 [root@local opt]#chmod [-R] 0777 文件名 113 114 至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,日常要勇于用各类命令,勤于看看本篇总结啦。 115 ==================================================================== 116 linux 查看用户及用户组的方法 117 whois 118 功能说明:查找并显示用户信息。 119 语 法:whois [账号名称] 120 补充说明:whois指令会去查找并显示指定账号的用户相关信息,由于它是到Network Solutions 的WHOIS数据库去查找,因此该账号名称必须在上面注册方能寻获,且名称没有大小写的差异。 121 --------------------------------------------------------- 122 whoami 123 功能说明:先彷佛用户名称。 124 语 法:whoami [--help][--version] 125 补充说明:显示自身的用户名称,本指令至关于执行"id -un"指令。 126 参 数: 127 --help 在线帮助。 128 --version 显示版本信息。 129 --------------------------------------------------- 130 who 131 功能说明:显示目前登入系统的用户信息。 132 语 法:who [-Himqsw][--help][--version][am i][记录文件] 133 补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入账号,使用的 终端机,登入时间以及从何处登入或正在使用哪一个X显示器。 134 参 数: 135 -H或--heading 显示各栏位的标题信息列。 136 -i或-u或--idle 显示闲置时间,若该用户在前一分钟以内有进行任何动做,将标示成"."号,若是该用户已超过24小时没有任何动做,则标示出"old"字符串。 137 -m 此参数的效果和指定"am i"字符串相同。 138 -q或--count 只显示登入系统的账号名称和总人数。 139 -s 此参数将忽略不予处理,仅负责解决who指令其余版本的兼容性问题。 140 -w或-T或--mesg或--message或--writable 显示用户的信息状态栏。 141 --help 在线帮助。 142 --version 显示版本信息。 143 ---------------------------------------------------- 144 w 145 功能说明:显示目前登入系统的用户信息。 146 语 法:w [-fhlsuV][用户名称] 147 补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w 148 指令会显示全部的用户,您也可指定用户名称,仅显示某位用户的相关信息。 149 参 数: 150 -f 开启或关闭显示用户从何处登入系统。 151 -h 不显示各栏位的标题信息列。 152 -l 使用详细格式列表,此为预设值。 153 -s 使用简洁格式列表,不显示用户登入时间,终端机阶段做业和程序所耗费的CPU时间。 154 -u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。 155 -V 显示版本信息。 156 ----------------------------------------------------- 157 finger命令 158 finger 命令的功能是查询用户的信息,一般会显示系统中某个用户的用户名、主目录、停滞时间、登陆时间、登陆shell等信息。若是要查询远程机上的用户信息,须要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机须要运行finger守护进程。 159 该命令的通常格式为: 160 finger [选项] [使用者] [用户@主机] 161 命令中各选项的含义以下: 162 -s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登陆时间等信息。 163 -l 除了用-s选项显示的信息外,还显示用户主目录、登陆shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。 164 -p 除了不显示.plan文件和.project文件之外,与-l选项相同。 165 [例]在本地机上使用finger命令。 166 $ finger xxq 167 Login: xxq Name: 168 Directory: /home/xxq Shell: /bin/bash 169 Last login Thu Jan 1 21:43 (CST) on tty1 170 No mail. 171 No Plan. 172 $ finger 173 Login Name Tty Idle Login Time Office Office Phone 174 root root *1 28 Nov 25 09:17 175 …… 176 ------------------------------------------------------------------ 177 /etc/group文件包含全部组 178 /etc/shadow和/etc/passwd系统存在的全部用户名 179 修改当前用户所属组的方法 180 usermod 或者能够直接修改 /etc/paaawd文件便可 181 ---------------------------------------------------------------- 182 vlock(virtual console lock) 183 功能说明:锁住虚拟终端。 184 语 法:vlock [-achv] 185 补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。 186 参 数: 187 -a或--all 锁住全部的终端阶段做业,若是您在全屏幕的终端中使用本参数,则会将用键盘 188 切换终端机的功能一并关闭。 189 -c或--current 锁住目前的终端阶段做业,此为预设值。 190 -h或--help 在线帮助。 191 -v或--version 显示版本信息。 192 -------------------------------------------------------- 193 usermod 194 功能说明:修改用户账号。 195 语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <账号名称>][-s ][-u ][用户账号] 196 补充说明:usermod可用来修改用户账号的各项设定。 197 参 数: 198 -c<备注> 修改用户账号的备注文字。 199 -d登入目录> 修改用户登入时的目录。 200 -e<有效期限> 修改账号的有效期限。 201 -f<缓冲天数> 修改在密码过时后多少天即关闭该账号。 202 -g<群组> 修改用户所属的群组。 203 -G<群组> 修改用户所属的附加群组。 204 -l<账号名称> 修改用户账号名称。 205 -L 锁定用户密码,使密码无效。 206 -s 修改用户登入后所使用的shell。 207 -u 修改用户ID。 208 -U 解除密码锁定。 209 ------------------------------------------------------- 210 userdel 211 功能说明:删除用户账号。 212 语 法:userdel [-r][用户账号] 213 补充说明:userdel可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。 214 参 数: 215 -f 删除用户登入目录以及目录中全部文件。 216 ---------------------------------------------------------- 217 userconf 218 功能说明:用户账号设置程序。 219 语 法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help] 220 补充说明:userconf实际上为linuxconf的符号链接,提供图形界面的操做方式,供管理员创建与管理各种账号。若不加任何参数,即进入图形界面。 221 参 数: 222 --addgroup<群组> 新增群组。 223 --adduser<用户ID><群组><用户名称> 新增用户账号。 224 --delgroup<群组> 删除群组。 225 --deluser<用户ID> 删除用户账号。 226 --help 显示帮助。 227 ------------------------------------------------------ 228 useradd 229 功能说明:创建用户账号。 230 语 法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户账号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ] 231 补充说明:useradd可用来创建用户账号。账号建好以后,再用passwd设定账号的密码.而可用userdel删除账号。使用useradd指令所创建的账号,其实是保存在/etc/passwd文本文件中。 232 参 数: 233 -c<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中。 234 -d<登入目录> 指定用户登入时的启始目录。 235 -D 变动预设值. 236 -e<有效期限> 指定账号的有效期限。 237 -f<缓冲天数> 指定在密码过时后多少天即关闭该账号。 238 -g<群组> 指定用户所属的群组。 239 -G<群组> 指定用户所属的附加群组。 240 -m 自动创建用户的登入目录。 241 -M 不要自动创建用户的登入目录。 242 -n 取消创建以用户名称为名的群组. 243 -r 创建系统账号。 244 -s 指定用户登入后所使用的shell。 245 -u 指定用户ID。 246 247 248 --mac 249 --aliyun 250 myAliYun88* 251 ssh root@112.126.73.177 252 yes 253 root的密码 254 建立用户 255 256 useradd -d /usr/liuzhipeng -m liuzhipeng 257 passwd liuzhipeng 258 259 vim /etc/sudoers 260 /root 261 :noh 262