Linux:ユーザーとグループ管理および権限管理

8502 ワード

linuxユーザーとグループ管理および権限管理
一、useraddコマンド:システムにユーザーを追加する
共通パラメータ:
-dホームディレクトリ-gホームグループ、-G追加グループ、-sデフォルトshellを指定します.-Mホームディレクトリを作成しないなどの内容-mホームディレクトリを作成する-rシステムアカウントを作成する(デフォルトではホームディレクトリを作成しない)-c説明(/etc/passwdの5番目のフィールド)-Nアカウントを作成する場合、同名グループを作成せず、デフォルトでusersグループ内に置く-uUID-o配合-uオプションで、UIDの一意性をチェックせず、UIDマルチユーザ名と
             apache   ;shell /sbin/nolgoin;  :apache;    :daemon,bin; UID:80; home:/var/www

[root@centos7 ~]#getent passwd apache        
[root@centos7 ~]#useradd -G daemon,bin -u 80 -r -m -d /var/www -s /sbin/nologin apache

二、usermodコマンド:ユーザー設定の変更
共通パラメータ:
-u UID-g GID-G付加グループは、元のものが上書きされ、元のものが保持されると、-a(append)オプション-s SHELL-cの新しいコメント情報を同時に使用するには(comment)-dホーム新規ホームディレクトリは自動的に作成されません.新規ディレクトリを作成して元のホームデータを移動するには、-mオプション-l login_name新しい名前-L lockでユーザーを指定し、/etc/shadowパスワードバーに追加!-U unlockでユーザーを指定し、/etc/shadowパスワードバーに削除-e YYYY-MM-DDでユーザーアカウントの有効期限-f INACTIVE:デバイス非アクティブ期限
    dushan    g1,     g2         g3

[root@centos7 data]#usermod -g g1 -aG g2 dushan
[root@centos7 data]#id dushan
uid=1001(dushan) gid=1003(g1) groups=1003(g1),1004(g2),1005(g3)

三、userdelコマンド:ユーザーの削除
共通パラメータ:
-rユーザーホームディレクトリの削除
[root@centos ~]#userdel -r apache

四、idコマンド:ユーザー関連ID情報を表示する
共通パラメータ:
-u表示UID-g表示GID-G表示ユーザが属するグループのID-n表示名、ugGに合わせて使用
[root@centos ~]#id liuying
uid=1001(liuying) gid=1003(liuying) groups=1003(liuying),1002(home)
[root@centos ~]#id -Gn liuying
liuying home

    id          

五、suコマンド:ユーザーの切り替え
一般的な方法:
su USERNAME:非ログイン切り替えで、ターゲットユーザーのプロファイルは読み込まれず、現在の作業ディレクトリは変更されません
su-USERNAME:ログイン式切替、ターゲットユーザープロファイルの読み取り、ホームディレクトリへの切替、完全切替
root suから他のユーザーへのパスワードは必要ありません.非rootユーザー切り替えに必要なパスワード
一般的なオプション:
-cアイデンティティ実行コマンドの切り替え
-lログインはsu-USERNAMEに相当します
  • dushanユーザID
  • を完全に切り替える.
    [root@centos7 ~]#su - dushan
    Last login: Thu Sep  6 16:26:43 CST 2018 on pts/0
    [dushan@centos7 ~]$ pwd
    /home/dushan
    
  • がlinuxユーザID
  • に完全に切り替えられていない
    [root@centos7 ~]#su dushan
    [dushan@centos7 root]$ pwd
    /root
    

    注意:suはrootアイデンティティを切り替えただけですが、Shell環境は依然として一般ユーザーのShellです.su-ユーザーとShell環境を一緒にrootアイデンティティに切り替えた.Shell環境を切り替えてこそPATH環境変数エラーが発生せず、command not foundのエラーを報告します.
    六、passwdコマンド:ユーザーパスワードの設定
    一般的なオプション:
    -d:指定ユーザーパスワードの削除-l:指定ユーザーのロック解除-u:指定ユーザーのロック解除-e:ユーザーの次回ログインの強制パスワードの変更-f:強制操作-n:mindays:最短使用期限の指定-x max days:最長使用期限の指定-w wardays:何日前から警告開始-i inactivedays:非アクティブ期限-stdin:標準入力からユーザーパスワードecho "password"|passwd --stdin USERNAME >/dev/nullを受信
        dushan     
    
    [root@centos7 ~]#passwd dushan
     
    [root@centos7 ~]#echo 'dushan' | passwd --stdin dushan
    Changing password for user dushan.
    passwd: all authentication tokens updated successfully.
    

    七、chageコマンド:ユーザーパスワードポリシーの変更
    一般的なオプション:
    -d:LAST_DAY即時有効chage -d 0 dushan次回ログイン強制リセットパスワード-E--expiredate:有効期限-l--inactive:非アクティブ期限-m--mindays:最短有効期間-M--maxdays:最長有効期間-W--wardays:警告日付-lパスワードポリシー表示
    #chage -E 2019-09-16 dushan
    #chage -m 0 -M 42 -W 14 -I 7 dushan    0 ,  42 , 14     ,  7    。
    #chage -d 0 dushan       ,          
    

    #chfn dushan dushan dushan dushanユーザーに情報を追加#finger dushanユーザー情報を表示する(fingerパッケージをインストールする必要がある)
    八、groupaddコマンド:グループの作成
    一般的なオプション:
    -g:GID番号を指定-r:システムグループのデフォルトcentos 6:id<500、centos 7:id<1000を作成
      nginx 
    [root@centos7 ~]# groupadd -r -g 8080 nginx
    [root@centos7 ~]# getent group nginx         
    
    

    九、groupmodコマンド:グループの変更
    一般的なオプション:
    -n:新しい名前-g:新しいGID番号
    [root@centos7 ~]#groupmod -g 2222 -n family home 
    [root@centos7 ~]#getent group family
    family:$5$WOpdK/R32tI5ewPI$tZBOnDP0:2222:dushan
    
    

    groupdelコマンド:groupdel family family削除familyグループ
    十、gpasswdコマンド:グループパスワード
    一般的なオプション:
    -a:指定したグループにユーザーを追加-d:指定したグループからユーザーを削除
    [root@centos7 ~]#gpasswd -a dushan family
    Adding user dushan to group family
    [root@centos7 ~]#gpasswd -d dushan family
    Removing user dushan from group family
    
    

    十一、newgrpコマンド:一時的にメイングループを切り替える
              ,             ,          
    
    [root@centos7 ~]#su - dushan
    Last login: Wed Jul 17 15:55:19 CST 2019 on pts/0
    [dushan@centos7 ~]$ touch test.log
    [dushan@centos7 ~]$ ll test.log 
    -rw-rw-r-- 1 dushan dushan 0 Jul 18 14:24 test.log
    [dushan@centos7 ~]$ newgrp family
    Password: 
    [dushan@centos7 ~]$ touch test2.log
    [dushan@centos7 ~]$ ll test2.log
    -rw-r--r-- 1 dushan family 0 Jul 18 14:25 test2.log
    
    

    十二、groupmemsコマンド:グループメンバーの調整
    一般的なオプション:
    -g,–groupグループ名変更指定グループ(rootのみ)-a,–add username指定ユーザー加入グループ-d,--delete usernameグループからユーザー-pを削除し、–purgeグループからすべてのメンバー-lを消去し、–list表示グループメンバーリスト
    [root@centos7 ~]#groupmems -g family -a dushan  family    dushan  
    [root@centos7 ~]#groupmems -l -g family   family    
    
    groups+user  user    
    [root@centos7 ~]#groups dushan
    dushan : dushan family
    
    

    十三、newusersコマンド:ユーザーの一括作成
    /etc/passwdフォーマットファイルが必要で、大量にユーザーを作成し、新しいマシンでユーザーを回復することができます.
    [root@centos7 ~]#newusers /etc/passwd.copy
               ,      ,     cp      
    #su - test
    #cp -r /etc/skel/. .
    
    

    十四、chpasswdコマンド:ユーザーパスワードの一括変更
    chpasswd自体はインタラクティブコマンドで、dushan:centosと直接入力するとctrl+dが終了します.
    [root@centos7 ~]#cat /data/passwd.txt |chpasswd
        :
    [root@centos7 ~]#cat /data/passwd.txt 
    dushan:centos
    tom:centos
    
    

    十五、chownコマンド:ファイルの所属関係を修正する
    /data/dirディレクトリとそのサブディレクトリとファイル属プライマリグループをapacheに設定
    [root@centos7 data]#chown -R apache.apache /data/dir
    [root@centos7 data]#ll
    total 8
    lrwxrwxrwx 1 root   root    19 Sep  6 09:47 apachectl -> /usr/sbin/apachectl
    drwxr-xr-x 3 apache apache  33 Sep  6 09:59 dir
    -rw-r--r-- 1 root   root    98 Sep  6 12:20 fstab.out
    -rw-r--r-- 1 root   root   170 Sep  3 10:26 functions.bak
    
    

    注意:chown-R apache.apacheはchown-R apache:apacheに等しい
    #chgrp home testfile.txt         home
    
    

    十六、chmodコマンド:ファイル権限の変更
    一、chomd常用方法
    
    1.                、                 
    
       [root@centos7 ]#chmod u+wx,g-r,o=rx checkid.sh 
    
    2.     testdir     :      、  、     ,            
    
       [root@centos7 ~]# chmod -R g=rwX testdir/
         X         
    
    3.     fstab.out            
    
       [root@centos7 ~]#chmod 600 fstab.out 
    
    4.   f2  , f1    
    
    [root@centos7 ~]#chmod --reference=f2 f1
    
    

    二、SUID、SGID:所有者を継承し、所属グループの権限
    SUIDはバイナリプログラムに作用し,所有者権限を継承する.(理解、一般的にはわざわざ設定しない)
                chmod  suid  
    [root@centos7 ~]#chmod u+s chmod
    
                chmod   suid  
    [root@centos7 ~]#chmod u-s chmod
    
     :         /usr/bin/passwd,            ,/bin/vim   suid  ,           /etc/passwd      root!
    [root@centos7 ~]#ll /usr/bin/passwd
    -rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
    
    

    GUIDはバイナリプログラムに作用し,すべてのグループ権限を継承する.
    フォルダ上で、新しいファイルが属するグループを継承することもできます.
    例:/dataディレクトリにsgid権限を設定し、コラボレーションディレクトリとして、後でこのディレクトリの下にファイルを構築し、所属グループはすべて/dataディレクトリの所属グループと同じである.
    [root@centos7 ~]#chmod g+s /data
    [root@centos7 ~]#ll -d /data
    drwxrwsr-x. 3 root sales 85 Sep  6 16:31 /data
    
    

    三、Sticky(粘着ビット)権限設定:ファイルの所有者またはrootのみがディレクトリの下のファイルを削除できる
    /dataディレクトリにsticky権限を設定する
    [root@centos7 ~]#chmod o+t /data
       chmod 1777 
    	chmod 7777   suid guid  sticky     ,          
    [root@centos7 ~]#ll -d /data
    drwxrwxrwt. 3 root root 85 Sep  6 17:07 /data
    
       /data   sticky  
    [root@centos7 data]#chmod o-t /data
    
    

    四、ACL Access Control Listアクセス制御リスト
    ACL有効化順序:所有者、カスタムユーザー、カスタムグループ、その他
    setfaclの一般的なオプション:
    -m権限の設定
    -x権限の取り消し
    -b権限のクリア
    -R再帰
    -Mリードリストsetfacl -M acl.txt f1(f 1ファイルにacl.txtファイルの権限を設定)
    -kフォルダ削除権限setfacl -k dir
     /data/dir           g1 ;
    [root@centos7 ~]#setfacl -Rm g:g1:rwx /data/dir
    
    dushan   /data/dir        
    [root@centos7 ~]#setfacl -m u:dushan:r-- /data/dir
    
        
    [root@centos7 ~]#setfacl -b /data/dir
    
         ACL  
    [root@centos7 ~]#getfacl /data/dir
    
      file1 acl   file2
    [root@centos7 ~]#getfacl file1 |setfacl --set-file=- file2
    
    ACL     
    getfacl -R /tmp/dir >/root/acl.txt      
    setfacl -R --set-file=acl.txt /tmp/dir     
    
           :
    setfacl --restore /root/acl.txt         
    
    

    五、rootユーザーはあるファイルに対して誤操作を防止する
    root       
    #chattr +i   /etc/
    #chattr -i    /etc    
    
    
    root      
    #chattr -a  /etc
    #chattr +a /etc
    
           ,   +A no time updates(     )
    #chattr +A 
    #chattr -A