?
通过useradd 添加用户时的规则文件; # useradd defaults file GROUP=100 HOME=/home? 注:把用户的家目录建在/home中; INACTIVE=-1? 注:是否启用帐号过期停权,-1表示不启用; EXPIRE=?? 注:帐号终止日期,不设置表示不启用; SHELL=/bin/bash? 注:所用SHELL的类型; SKEL=/etc/skel?? 注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
关于用户(user)和用户组(group)管理内容大约就是这么多;只要把上面所说的内容了解和掌握,用户(user)和用户组(group)管理就差不多了;由于用户(user)和用户组(group)是和文件及目录权限联系在一起的,所以文件及目录权限的操作也会独立成文来给大家介绍;
本文只是让新手弟兄明白用户(user)和用户组(group)一些原理,所以我在写此文的时候,大多是解说内容,我的意思是通过解说和索引一些命令,让新手弟兄明白一点理论是比较重要的,技术操作无非是命令的用法;
================================================================= 参考网址:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html
最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。 学习这几样东西,得先掌握linux的权限系统相关知识。 linux的权限系统主要是由用户、用户组和权限组成。 用户就是一个个的登录并使用linux的用户。linux内部用UID表示。 用户组就是用户的分组。linux内部用GID表示。 权限分为读、写、执行三种权限。
linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。
/etc/passwd文件格式: 用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell 其中UID为0则是用户root,1~499为系统用户,500以上为普通用户
/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。
用户组信息保存在/etc/group文件中. 格式如下: 用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)
用户登录后,/etc/passwd文件里的GID为用户的初始用户组。 用户的初始用户组这一事实不会再/etc/group中体现。
查看当前用户的用户组命令: [root@local opt]#groups root bin daemon sys adm disk wheel 输出的信息中,第一个用户组为当前用户的有效用户组(当前用户组)
切换有效用户组命令: [root@local opt]#newgrp 用户组名 要离开新的有效用户组,则输入exit回车。
新建用户命令: [root@local opt]#useradd 用户名 -g 初始用户组 -G 其他用户组(修改/etc/group) -c 用户说明 -u 指定UID
建完用户需要为用户设置密码: [root@local opt]#passwd 用户名
用户要修改自己密码命令: [root@local opt]#passwd
修改用户信息命令: [root@local opt]#usermod 参数 用户名 参数: ?-c 说明 ?-g 组名 初始用户组 -e 过期日期 格式:YYYY-MM-DD ?-G 组名 其他用户组 ?-l 修改用户名 ?-L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!)) ?-U 解锁
删除用户命令: [root@local opt]#userdel [-r] 用户名 其中,参数-r为删除用户的home目录。 其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件: [root@local opt]#find / -user 用户名 然后删除,再运行userdel删除用户。
查看可用shell命令: [root@local opt]#chsh -l 修改自己的shell命令: [root@local opt]#chsh -s
查看自己或某人UID/GID信息: [root@local opt]#id [用户名] 返回信息中groups为有效用户组
新增用户组命令: [root@local opt]#groupadd 用户组名
修改用户组名命令: [root@local opt]#groupmod -n 名称
删除用户组命令: [root@local opt]#groupdel 用户组名
设置用户组密码命令: [root@local opt]#gpasswd 用户组名
如果gpasswd加上参数则有其他功能
设置用户组管理员命令: [root@local opt]#gpasswd -A 用户名 用户组名
添加某帐号到组命令: [root@local opt]#gpasswd -M 用户名 用户组名
从组中删除某帐号命令: [root@local opt]#gpasswd -d 用户名 用户组名
passwd相关参数操作: -l 锁用户 -u 解锁用户 -n 天数? 密码不可改天数 -x 天数? 密码过期天数 -w 天数? 警告天数
?文件权限知识
先看个实例: [root@local opt]#ls -al ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.' -rw-r--r--? 1 root root??? 81 08-02 14:54 gtkrc-1.2-gnome2 -rw-------? 1 root root?? 189 08-02 14:54 ICEauthority -rw-------? 1 root root??? 35 08-05 10:02 .lesshst drwx------? 3 root root? 4096 08-02 14:54 .metacity drwxr-xr-x? 3 root root? 4096 08-02 14:54 nautilus
列表的列定义如下: [权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]
权限属性列表为10个字符: 第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备 2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限 第二个字符表示所有者读权限,如果有权限则为r,没有权限则为- 第三个字符表示所有者写权限,如果有权限则为w,没有权限则为- 第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为- 第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为- 第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为- 第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为- 第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为- 第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为- 第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-
修改文件所属组命令: [root@local opt]#chgrp [-R] 组名 文件名 其中-R为递归设置
修改文件的所有者和组命令: [root@local opt]#chown [-R] 用户[:用户组] 文件名
修改文件访问权限命令: [root@local opt]#chmod [-R] 0777 文件名
至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。 ==================================================================== whois 功能说明:查找并显示用户信息。 语 法:whois [帐号名称] 补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。 --------------------------------------------------------- whoami 功能说明:先似乎用户名称。 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。 参 数: --help 在线帮助。 --version 显示版本信息。 --------------------------------------------------- who 功能说明:显示目前登入系统的用户信息。 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的 终端机,登入时间以及从何处登入或正在使用哪个X显示器。 参 数: -H或--heading 显示各栏位的标题信息列。 -i或-u或--idle 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。 -m 此参数的效果和指定"am i"字符串相同。 -q或--count 只显示登入系统的帐号名称和总人数。 -s 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。 -w或-T或--mesg或--message或--writable 显示用户的信息状态栏。 --help 在线帮助。 --version 显示版本信息。 ---------------------------------------------------- w 功能说明:显示目前登入系统的用户信息。 语 法:w [-fhlsuV][用户名称] 补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。 参 数: -f 开启或关闭显示用户从何处登入系统。 -h 不显示各栏位的标题信息列。 -l 使用详细格式列表,此为预设值。 -s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。 -u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。 -V 显示版本信息。 ----------------------------------------------------- finger命令 finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。 该命令的一般格式为: finger [选项] [使用者] [用户@主机] 命令中各选项的含义如下: -s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。 -l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。 -p 除了不显示.plan文件和.project文件以外,与-l选项相同。 [例]在本地机上使用finger命令。 $ finger xxq Login: xxq Name: Directory: /home/xxq Shell: /bin/bash Last login Thu Jan 1 21:43 (CST) on tty1 No mail. No Plan. $ finger Login Name Tty Idle Login Time Office Office Phone root root *1 28 Nov 25 09:17 …… ------------------------------------------------------------------ /etc/group文件包含所有组 /etc/shadow和/etc/passwd系统存在的所有用户名 修改当前用户所属组的方法 usermod 或者可以直接修改 /etc/paaawd文件即可 ---------------------------------------------------------------- vlock(virtual console lock) 功能说明:锁住虚拟终端。 语 法:vlock [-achv] 补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。 参 数: -a或--all 锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘 切换终端机的功能一并关闭。 -c或--current 锁住目前的终端阶段作业,此为预设值。 -h或--help 在线帮助。 -v或--version 显示版本信息。 -------------------------------------------------------- usermod 功能说明:修改用户帐号。 语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号] 补充说明:usermod可用来修改用户帐号的各项设定。 参 数: -c<备注> 修改用户帐号的备注文字。 -d登入目录> 修改用户登入时的目录。 -e<有效期限> 修改帐号的有效期限。 -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。 -g<群组> 修改用户所属的群组。 -G<群组> 修改用户所属的附加群组。 -l<帐号名称> 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s 修改用户登入后所使用的shell。 -u 修改用户ID。 -U 解除密码锁定。 ------------------------------------------------------- userdel 功能说明:删除用户帐号。 语 法:userdel [-r][用户帐号] 补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。 参 数: -f 删除用户登入目录以及目录中所有文件。 ---------------------------------------------------------- userconf 功能说明:用户帐号设置程序。 语 法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help] 补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。 参 数: --addgroup<群组> 新增群组。 --adduser<用户ID><群组><用户名称> 新增用户帐号。 --delgroup<群组> 删除群组。 --deluser<用户ID> 删除用户帐号。 --help 显示帮助。 ------------------------------------------------------ useradd 功能说明:建立用户帐号。 语 法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ] 补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。 参 数: -c<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中。 -d<登入目录> 指定用户登入时的启始目录。 -D 变更预设值. -e<有效期限> 指定帐号的有效期限。 -f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。 -g<群组> 指定用户所属的群组。 -G<群组> 指定用户所属的附加群组。 -m 自动建立用户的登入目录。 -M 不要自动建立用户的登入目录。 -n 取消建立以用户名称为名的群组. -r 建立系统帐号。 -s 指定用户登入后所使用的shell。 -u 指定用户ID。
转载:https://www.cnblogs.com/jackyyou/p/5498083.html (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|