查看当前用户
1 2 | whoami #要查看当前登录用户的用户名 who am i #表示打开当前伪终端的用户的用户名 |
who 命令其它常用参数:
-a 打印能打印的全部
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级
创建新用户
1 | adduser newname // 新建用户newname |
useradd和adduser的区别
都能创建用户,不同点如下:
useradd 只创建用户,创建完了用 passwd newname 去设置新用户的密码。
adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。
注意:用useradd添加用户之后,在默认的情况下,该账号是暂时被封锁的, 也就是说,该账号是无法登录,须要用passwd命令来给新创建的用户设置密码之后才可以使用。
其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回,而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
————adduser的详细参数————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 用法:adduser [选项] 登录 adduser -D adduser -D [选项] 参数: -b, --base-dir BASE_DIR 新账户的主目录的基目录 -c, --comment COMMENT 新账户的 GECOS 字段 -d, --home-dir HOME_DIR 新账户的主目录 -D, --defaults 显示或更改默认的 useradd 配置 -e, --expiredate EXPIRE_DATE 新账户的过期日期 -f, --inactive INACTIVE 新账户的密码不活动期 -g, --gid GROUP 新账户主组的名称或 ID -G, --groups GROUPS 新账户的附加组列表 -h, --help 显示此帮助信息并推出 -k, --skel SKEL_DIR 使用此目录作为骨架目录 -K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值 -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库 -m, --create-home 创建用户的主目录 -M, --no-create-home 不创建用户的主目录 -N, --no-user-group 不创建同名的组 -o, --non-unique 允许使用重复的 UID 创建用户 -p, --password PASSWORD 加密后的新账户密码 -r, --system 创建一个系统账户 -R, --root CHROOT_DIR chroot 到的目录 -s, --shell SHELL 新账户的登录 shell -u, --uid UID 新账户的用户 ID -U, --user-group 创建与用户同名的组 -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER |
删除用户
1 2 3 4 5 6 7 8 9 | userdel #删除用户 参数: -f, --force force some actions that would fail otherwise e.g. removal of user still logged in or files, even if not owned by the user -h, --help 显示此帮助信息并推出 -r, --remove 删除主目录和邮件池 -R, --root CHROOT_DIR chroot 到的目录 -Z, --selinux-user 为用户删除所有的 SELinux 用户映射 |
删除用户则推荐使用userdel,单单用deluser命令(centos 7是没有这个命令的,要使用userdel,而debian有),不加参数的话,只会删除用户,但是不会删除在/home目录中的用户家目录。如果你想要连此用户的家目录也一并删除,可以加上 –remove-home 这个参数,如下:
1 | deluser –remove-home newname |
修改用户密码
1 | passwd newname |
修改用户账户
1 2 | usermod -g siatstudent newname #-g:修改用户所在群组 usermod -G friends,happy,funny newname #-G:一次将一个用户添加到多个群组 |
注意:使用usermod时要小心,因为配合-g或-G参数时,它会把用户从原先的群组里剔除,加入到新的群组。如果你不想离开原先的群组,又想加入新的群组,可以在-G参数的基础上加上-a参数,a是英语append的缩写,表示“追加”。
1 | usermod -aG happy newname #-a追加用户到新的用户组,保留原来的组 |
usermod详细参数如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 参数: -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE -f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态 -g, --gid GROUP 强制使用 GROUP 为新主组 -G, --groups GROUPS 新的附加组列表 GROUPS -a, --append GROUP 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户 -h, --help 显示此帮助信息并推出 -l, --login LOGIN 新的登录名称 -L, --lock 锁定用户帐号 -m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用) -o, --non-unique 允许使用重复的(非唯一的) UID -p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码 -R, --root CHROOT_DIR chroot 到的目录 -s, --shell SHELL 该用户帐号的新登录 shell -u, --uid UID 用户帐号的新 UID -U, --unlock 解锁用户帐号 -Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射 |
查看用户所属群组
1 | groups newname #查看newname所属群组 |
创建组
1 | groupadd newname #创建一个名为newname的组 |
1 2 3 4 5 6 7 8 9 10 | 参数: -f, --force 如果组已经存在则成功退出 并且如果 GID 已经存在则取消 -g -g, --gid GID 为新组使用 GID -h, --help 显示此帮助信息并推出 -K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值 -o, --non-unique 允许创建有重复 GID 的组 -p, --password PASSWORD 为新组使用此加密过的密码 -r, --system 创建一个系统账户 -R, --root CHROOT_DIR chroot 到的目录 |
修改组
1 | groupmod -n test2group testgroup |
删除组
1 | groupdel test2group |
1 | 查看文件所属的用户及组 |
1 2 3 4 5 | ls -l #第三列表示文件或目录的所有者,第四列表示文件或目录的所在群组 groups #查看当前登陆用户所在的组 groups testnewuser #查看testnewuser 所在的组 cat /etc/group #查看所有组 |
————————–有关用户及用户组权限设置时的命令—————————-
chmod命令:修改文件的访问权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 用法:chmod [选项]... 模式[,模式]... 文件... 或:chmod [选项]... 八进制模式 文件... 或:chmod [选项]... --reference=参考文件 文件... Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet 静默模式 -v, --verbose 诊断模式,显示完整的执行过程 --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' --reference=RFILE use RFILE's mode instead of MODE values -R, --recursive 递归方式设置 --help 显示此帮助信息并退出 --version 显示版本信息并退出 |
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行。
1 2 3 4 5 | d:是英语directory的缩写,表示“目录”。就是说这是一个目录。 l:是英语link的缩写,表示“链接”。就是说这是一个链接。 r:是英语read的缩写,表示“读”。就是说可以读这个文件。 w:是英语write的缩写,表示“写”。就是说可以写这个文件,也就是可以修改。 x:是英语execute的缩写,表示“执行,运行”。就是说可以运行这个文件 |
关于文件权限的例子讲解
1 | ls -l file.txt |
返回-rw-r–r–
返回参数的说明:
1 2 3 4 | -:第一个短横表示这是一个普通文件。如果此处是d,那么表示目录;如果是l,那么表示链接,等等。 rw-:表明了文件的所有者(此处是newname)对文件有读,写的权限,但是没有运行的权限。也很好理解,因为这是一个普通文件,默认没有可执行的属性。记住:如果有w权限(写的权限),那么表明也有删除此文件的权限。 r--:表明文件所在的群组(此处是newname)的其他用户(除了newname之外)只可以读此文件,但不能写也不能执行。“可远观而不可亵玩焉”。 r--:表示其他用户(除去newname这个群组的用户)只可以读此文件,但不能写也不能执行。 |
总结:file.txt 这个文件是一个普通文件,不是一个目录,也不是链接文件,它的所有者newname可以读写它,但不能执行;其他的用户只能读。
用字母来分配权限:chmod的相对用法
1 2 3 4 5 6 7 8 | u:user的缩写,是英语“用户”的意思。表示所有者。 g:group的缩写,是英语“群组”的意思。表示群组用户。 o:other的缩写,是英语“其他”的意思。表示其他用户。 a:all的缩写,是英语“所有”的意思。表示所有用户。 +:加号,表示添加权限。 -:减号,表示去除权限。 =:等号,表示分配权限。 |
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #文件file.txt的所有者增加读和运行的权限。 chmod u+rx file.txt #文件file.txt的群组其他用户增加读的权限。 chmod g+r file.txt #文件file.txt的其他用户移除读的权限。 chmod o-r file.txt #文件file.txt的群组其他用户增加读的权限,其他用户移除读的权限。 chmod g+r o-r file.txt #文件file.txt的群组其他用户和其他用户均移除读的权限。 chmod go-r file.txt #文件file.txt的所有用户增加运行的权限。 chmod +x file.txt #文件file.txt的所有者分配读,写和执行的权限;群组其他用户分配读的权限,不能写或执行;其他用户没有任何权限。 chmod u=rwx,g=r,o=- file.txt #递归执行赋权,设置newname文件夹权限 chmod -R 700 /home/newname |
——————————————————————
chown命令:用于改变文件的所有者
示例:
改变文件的用户(用ls -l可以快速查看原用户和组),后接新的所有者的用户名,再接文件名:
1 | chown newname file.txt |
chown命令也可以改变文件的群组,如下:
1 | chown newname:friends file.txt #将file.txt文件的用户改为newname,所属用户组修改为friends |
1 2 3 | chown root /u #将 /u 的属主更改为"root" chown root:staff /u #和上面类似,但同时也将其属组更改为"staff" chown -hR root /u #将 /u 及其子目录下所有文件的属主更改为"root" |
chown命令使用详细说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 用法:chown [选项]... [所有者][:[组]] 文件... 或:chown [选项]... --reference=参考文件 文件... Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink) --from=当前所有者:当前所属组 只当每个文件的所有者和组符合选项所指定时才更改所 有者和组。其中一个可以省略,这时已省略的属性就不 需要符合原有的属性。 --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values -R, --recursive operate on files and directories recursively The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) --help 显示此帮助信息并退出 --version 显示版本信息并退出 Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. |
评论0