首页 > 系统相关 >linux用户和用户组权限设置

linux用户和用户组权限设置

时间:2023-09-12 16:32:33浏览次数:30  
标签:文件 -- 用户组 用户 file linux 权限 群组

查看当前用户

whoami  #要查看当前登录用户的用户名

who am i  #表示打开当前伪终端的用户的用户名

who 命令其它常用参数:

-a 打印能打印的全部

-d 打印死掉的进程

-m 同am i,mom likes

-q 打印当前登录用户数及用户名

-u 打印当前登录用户登录信息

-r 打印运行等级

创建新用户

adduser newname // 新建用户newname

useradd和adduser的区别都能创建用户,不同点如下:useradd 只创建用户,创建完了用 passwd newname 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。

注意:用useradd添加用户之后,在默认的情况下,该账号是暂时被封锁的, 也就是说,该账号是无法登录,须要用passwd命令来给新创建的用户设置密码之后才可以使用。

其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回,而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

————adduser的详细参数————

用法: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

删除用户

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 这个参数,如下:

deluser –remove-home newname

修改用户账户

usermod -g siatstudent newname #-g:修改用户所在群组

usermod -G friends,happy,funny newname #-G:一次将一个用户添加到多个群组

注意:使用usermod时要小心,因为配合-g或-G参数时,它会把用户从原先的群组里剔除,加入到新的群组。如果你不想离开原先的群组,又想加入新的群组,可以在-G参数的基础上加上-a参数,a是英语append的缩写,表示“追加”。

usermod -aG happy newname #-a追加用户到新的用户组,保留原来的组

usermod详细参数如下:

参数:  -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 用户映射

查看用户所属群组

groups newname #查看newname所属群组

创建组

groupadd newname #创建一个名为newname的组

参数:  -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 到的目录

修改组

groupmod -n test2group testgroup

删除组

groupdel test2group

查看文件所属的用户及组

ls -l#第三列表示文件或目录的所有者,第四列表示文件或目录的所在群组

groups  #查看当前登陆用户所在的组

groups testnewuser #查看testnewuser 所在的组

cat /etc/group  #查看所有组

chmod命令:修改文件的访问权限

用法:chmod [选项]... 模式[,模式]... 文件... 

或:chmod [选项]... 八进制模式 文件... 

或:chmod [选项]... --reference=参考文件 文件...

  -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 表示可执行。

d:是英语directory的缩写,表示“目录”。就是说这是一个目录。    l:是英语link的缩写,表示“链接”。就是说这是一个链接。    r:是英语read的缩写,表示“读”。就是说可以读这个文件。    w:是英语write的缩写,表示“写”。就是说可以写这个文件,也就是可以修改。    x:是英语execute的缩写,表示“执行,运行”。就是说可以运行这个文件

关于文件权限的例子讲解

ls -l file.txt

返回-rw-r–r–

返回参数的说明:

-:第一个短横表示这是一个普通文件。如果此处是d,那么表示目录;如果是l,那么表示链接,等等。    rw-:表明了文件的所有者(此处是newname)对文件有读,写的权限,但是没有运行的权限。也很好理解,因为这是一个普通文件,默认没有可执行的属性。记住:如果有w权限(写的权限),那么表明也有删除此文件的权限。    r--:表明文件所在的群组(此处是newname)的其他用户(除了newname之外)只可以读此文件,但不能写也不能执行。“可远观而不可亵玩焉”。    r--:表示其他用户(除去newname这个群组的用户)只可以读此文件,但不能写也不能执行。

总结:file.txt 这个文件是一个普通文件,不是一个目录,也不是链接文件,它的所有者newname可以读写它,但不能执行;其他的用户只能读。

用字母来分配权限:chmod的相对用法

u:user的缩写,是英语“用户”的意思。表示所有者。g:group的缩写,是英语“群组”的意思。表示群组用户。o:other的缩写,是英语“其他”的意思。表示其他用户。a:all的缩写,是英语“所有”的意思。表示所有用户。+:加号,表示添加权限。-:减号,表示去除权限。=:等号,表示分配权限。

举例说明:

#文件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可以快速查看原用户和组),后接新的所有者的用户名,再接文件名:

chown newname file.txt

chown命令也可以改变文件的群组,如下:

chown newname:friends file.txt #将file.txt文件的用户改为newname,所属用户组修改为friends

chown root /u          #将 /u 的属主更改为"root" 

chown root:staff /u #和上面类似,但同时也将其属组更改为"staff" 

chown -hR root /u #将 /u 及其子目录下所有文件的属主更改为"root"

chown命令使用详细说明

用法:chown [选项]... [所有者][:[组]] 文件... 

或:chown [选项]... --reference=参考文件 文件...

-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 recursivelyThe following options modify how a hierarchy is traversed when the -Roption is also specified.  If more than one is specified, only the finalone 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 显示版本信息并退出

标签:文件,--,用户组,用户,file,linux,权限,群组
From: https://blog.51cto.com/u_16077267/7446330

相关文章

  • Linux 同步时间
    1、安装ntp通过buildroot安装ntp包2、查看时间date注:查看时区3、同步时间同步时间命令:ntpdate-untp-server注:ntpdate加上-u参数同步,否则会出现如下错误:noserversuitableforsynchronizationfound。4、可使用的ntp服务器NTP服务器(上海):ntp.api.bz中国国家授......
  • Linux中如何切割文件?
    很多时候由于文件过大、网络传输存在限制,因此我们需要对大文件进行切割,将大文件切割成多个小文件再进行传输。那么Linux中如何切割文件?Linux切割文件的方法有很多,以下是常用的方法。1、使用split命令split命令是一种常用的切割文件的工具。它可以将一个大文件切割成多......
  • 解决Linux平台下R的报错问题
    安装BiocManagerinstall.packages("BiocManager")加载library(BiocManager)安装ggplot2install.packages("ggplot2")**byte-compileandpreparepackageforlazyloading错误:package‘cli’wasinstalledbeforeR4.0.0:pleasere-installit停止执行......
  • Linux中恢复仍在活动进程中的已删除文件!
    许多情况下,删除的文件都可以恢复,比如在该文件有活动的进程在操作它,并且目前被单个或多个用户使用时。在 Linux 系统中,每个当前正在运行的进程都会获得ID,其被称之为进程标识符“PID”,并将它们存放在/proc目录中。这正是我们恢复仍在运行的进程中(具有PID)已删除的文件所需要的......
  • linux(centos7)安装防火墙firewalld及开放端口相关命令
    安装firewalld防火墙命令:yuminstallfirewalld  安装完成,查看防火墙状态为notrunning,即未运行,输入命令开启:  添加开放端口:   防火墙相关命令: 查看防火墙状态systemctlstatusfirewalld.service 打开防火墙systemctlstartfirewalld.service 关闭......
  • Citrix DDC控制台管理员账号被删除,如何恢复权限
    1假设CitrixDDC控制台你以ctxadmin域账号安装的,那么ddc控制台默认管理员就是ctxadmin账户,也就是只有ctxadmin账户具备管理citrixDDC控制台权限,其他用户是无法打开ddc控制台并管理的。2当你不小心把ctxadmin删除后,无法还原或者找回,那么即便你新建一个同名的域账号例如ctxadmin,那......
  • linux中使用core dumped获取程序崩溃信息
    //打开linux的coredumpedulimit-cunlimited//ubuntu需要手动设置下生成路径sudosysctl-wkernel.core_pattern=$PWD/core执行一次可执行程序./a.outsegmentationfault(coredumped)然后gdb查看崩溃信息gdba.outcore.****core.xxx就是dumped文件......
  • 【linux软件分享】Meld文件对比工具
    MeldVisualdiffandmergetoolMeldhelpsyoucomparefiles,directories,andversioncontrolledprojects.Itprovidestwo-andthree-waycomparisonofbothfilesanddirectories,andhassupportformanypopularversioncontrolsystems.Meldhelpsyou......
  • 新人笔记-权限修饰符与导包
    packagecom_black.daobao.A1;publicclassTeacher{publicvoidteach(){System.out.println("goodstudy,daydayup");}}packagecom_black.daobao.A2;importcom_black.daobao.A1.Teacher;publicclassDemo{publicstati......
  • kali官方博客 --- Kali Linux 2023.3 发布(内部基础架构与 Kali Autopilot) 2023 年 8
    今天,我们很高兴向大家介绍Kali的最新版本2023.3。这次的更新虽然没有在外观上增加很多新功能,但其中许多改进都是在系统内部进行的,这些改进对于开发团队来说非常有益处,同时也会以间接的方式对最终用户产生积极的影响。不言而喻,除了标准更新外,还有许多新软件包和工具。如果你想......