web-dev-qa-db-ja.com

非rootの「画面が終了しています」

Root以外のユーザーとしてscreenを実行しようとすると、次のようになります。

screen

[screen is terminating]

すぐに、それはルートのためにうまく働きます

ls -alh /usr/bin/screen
-rwxr-sr-x 1 root screen 465K Jun  9 20:30 /usr/bin/screen

グーグルで/ etc/fstabの記述に気づいたとき、これが私のものです。

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md1        /       ext4    errors=remount-ro       0       1
/dev/md2        /home   ext4    defaults        1       2
/dev/sda3       swap    swap    defaults        0       0
/dev/sdb3       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

これは、sshを介してアクセスされる専用サーバーに新しくインストールされたcentos 7で(TTYはptsです)

任意の助けいただければ幸いです。

screen -ls    
No Sockets found in /var/run/screen/S-user.

ls -la /var/run/screen/S-user
total 0
drwx------ 2 user user 40 Jul 10 18:23 .
drwxrwxr-t 4 root     screen   80 Jul 10 17:59 ..
14
Rob

専用CentOS 7サーバーでこの問題が発生し、このバグレポートで説明されている修正に遭遇しました: bugs.centos.org/view.php?id=7395

これは、Dedicatedでgid=5からfstabのdevptsに。 screenがすべてのユーザーに対して期待どおりに機能するようになりました。

ただし、CentOS 7のOpenVZコンテナーで問題を解決しようとしていたため、このスレッドに遭遇しました。サーバーのfstabを編集する方法がないため(私が知る限り)、次のことがわかりました。回避策により修正されました。

私はこの方法で後退し、それが他の誰かを助けることができるかどうかを確認すると考えました。 (それを行うのは非常にきれいな方法ではありませんが)

ターミナル:

chmod u+s /usr/bin/screen
chmod 755 /var/run/screen
13
Forever Cuber

他のscreenがそのデバイスを使用していないことを確認してください

これは Linuxでファイルが開いているプロセスを特定するにはどうすればよいですか? で達成できます。

Sudo lsof /dev/ttyS0

その場合は、そのプロセスを強制終了します。

なんらかの理由で、この状態ではSudo screenは引き続きデバイスにアクセスできますが、その接続では他のscreenによって消費される文字が失われます。

ユーザーがファイルの読み取りおよび書き込み権限を持っていることを確認してください

例えば。 Ubuntuでは、ユーザーをdialoutグループに追加します: https://askubuntu.com/a/133244/52975